- 07 Kas, 2017 12 kayıt (commit)
-
-
Serhiy Storchaka yazdı
By accident the size of the empty dict keys object matched the size of values array.
-
Berker Peksag yazdı
-
Serhiy Storchaka yazdı
Few bytes at the begin and at the end of the reallocated blocks, as well as the header and the trailer, now are erased before calling realloc() in debug build. This will help to detect using or double freeing the reallocated block.
-
Zackery Spytz yazdı
-
Antoine Pitrou yazdı
-
Marat Sharafutdinov yazdı
-
Serhiy Storchaka yazdı
-
Mariatta yazdı
-
Barry Warsaw yazdı
-
Anders Lorentsen yazdı
-
Oren Milman yazdı
bpo-31764: Prevent a crash in sqlite3.Cursor.close() in case the Cursor object is uninitialized (#3958)
-
Oren Milman yazdı
bpo-31770: Prevent a crash and refleaks when calling sqlite3.Cursor.__init__() more than once (#3968)
-
- 06 Kas, 2017 3 kayıt (commit)
-
-
Nir Soffer yazdı
blocksize was hardcoded to 8192, preventing efficient upload when using file-like body. Add blocksize argument to __init__, so users can configure the blocksize to fit their needs. I tested this uploading data from /dev/zero to a web server dropping the received data, to test the overhead of the HTTPConnection.send() with a file-like object. Here is an example 10g upload with the default buffer size (8192): $ time ~/src/cpython/release/python upload-httplib.py 10 https://localhost:8000/ Uploaded 10.00g in 17.53 seconds (584.00m/s) real 0m17.574s user 0m8.887s sys 0m5.971s Same with 512k blocksize: $ time ~/src/cpython/release/python upload-httplib.py 10 https://localhost:8000/ Uploaded 10.00g in 6.60 seconds (1551.15m/s) real 0m6.641s user 0m3.426s sys 0m2.162s In real world usage the difference will be smaller, depending on the local and remote storage and the network. See https://github.com/nirs/http-bench for more info.
-
Steve Dower yazdı
-
Berker Peksag yazdı
-
- 05 Kas, 2017 3 kayıt (commit)
-
-
luzpaz yazdı
-
Serhiy Storchaka yazdı
MemoryError raised when normalizing a RecursionError raised during exception normalization now not always causes a fatal error.
-
Nick Coghlan yazdı
While technically a purely internal change, bpo-31845 was a fairly significant externally visible bug caused by these changes (environment variable based configuration was being ignored due to a change in the relative order of reading the environment and reading command line settings, and the test suite was only testing the command line options) Hence this note to essentially say "If you see odd startup problems in 3.7 that you've never seen in previous releases, it's probably our fault, so let us know, and we'll fix it".
-
- 04 Kas, 2017 9 kayıt (commit)
-
-
Steve Dower yazdı
-
Steve Dower yazdı
-
davy wybiral yazdı
-
Berker Peksag yazdı
-
Serhiy Storchaka yazdı
This speeds up it to 20-40%.
-
Phobosmir yazdı
-
Antoine Pitrou yazdı
* bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor * Fix docstring
-
Chillar Anand yazdı
-
Serhiy Storchaka yazdı
* Using ifconfig on NetBSD and OpenBSD. * Using arp on Linux, FreeBSD, NetBSD and OpenBSD. Based on patch by Takayuki Shimizukawa.
-
- 03 Kas, 2017 7 kayıt (commit)
-
-
Barry Warsaw yazdı
bpo-31936
-
Jack O'Connor yazdı
All Blake2 params have to be encoded in little-endian byte order. For the two multi-byte integer params, leaf_length and node_offset, that means that assigning a native-endian integer to them appears to work on little-endian platforms, but gives the wrong result on big-endian. The current libb2 API doesn't make that very clear, and @sneves is working on new API functions in the GH issue above. In the meantime, we can work around the problem by explicitly assigning little-endian values to the parameter block. See https://github.com/BLAKE2/libb2/issues/12.
-
Antoine Pitrou yazdı
Bug report and patch by Jeroen Demeyer.
-
Serhiy Storchaka yazdı
-
Antoine Pitrou yazdı
* bpo-31310: multiprocessing's semaphore tracker should be launched again if crashed * Avoid mucking with process state in test. Add a warning if the semaphore process died, as semaphores may then be leaked. * Add NEWS entry
-
Antoine Pitrou yazdı
* bpo-31308: If multiprocessing's forkserver dies, launch it again when necessary. * Fix test on Windows * Add NEWS entry * Adopt a different approach: ignore SIGINT and SIGTERM, as in semaphore tracker. * Fix comment * Make sure the test doesn't muck with process state * Also test previously-started processes * Update 2017-08-30-17-59-36.bpo-31308.KbexyC.rst * Avoid masking SIGTERM in forkserver. It's not necessary and causes a race condition in test_many_processes.
-
Tal Einat yazdı
When a single .c file contains several functions and/or methods with the same name, a safety _METHODDEF #define statement is generated only for one of them. This fixes the bug by using the full name of the function to avoid duplicates rather than just the name.
-
- 02 Kas, 2017 6 kayıt (commit)
-
-
Barry Warsaw yazdı
Support PYTHONPROFILEIMPORTTIME envvar equivalent to -X importtime
-
Anselm Kruis yazdı
Add METH_STACKLESS to prevent future collisions.
-
Neil Schemenauer yazdı
* bpo-28643: Record profile-opt build progress with stamp files The profile-opt makefile target is expensive to build. Since the makefile does not contain complete dependency information for this target, much extra work can get done if the build is interrupted and re-started. Even running "make" a second time will result in a huge amount of redundant work. As a minimal fix (rather than removing recursive "make" and adding a proper dependency graph), split the profile-opt target into parts: - ensure tree is clean (profile-clean-stamp) - build with profile generation enabled (profile-gen-stamp) - run task to generate profile information (profile-run-stamp) - build optimized Python using above information (profile-opt) We use "stamp" files to record completion of the steps. Running "make clean" will not remove the profile-run-stamp file. Other minor changes: - remove the "build_all_use_profile" target. I don't expect callers of the makefile to use this target so that should be safe. - remove execution of "profile-removal" at end of "profile-opt". I don't see any reason to not to keep the profile information, given the cost to generate it. Removing the "profile-run-stamp" file will force re-generation of it.
-
Christian Heimes yazdı
-
Simon Willison yazdı
-
Victor Stinner yazdı
Add new time functions: * time.clock_gettime_ns() * time.clock_settime_ns() * time.monotonic_ns() * time.perf_counter_ns() * time.process_time_ns() * time.time_ns() Add new _PyTime functions: * _PyTime_FromTimespec() * _PyTime_FromNanosecondsObject() * _PyTime_FromTimeval() Other changes: * Add also os.times() tests to test_os. * pytime_fromtimeval() and pytime_fromtimeval() now return _PyTime_MAX or _PyTime_MIN on overflow, rather than undefined behaviour * _PyTime_FromNanoseconds() parameter type changes from long long to _PyTime_t
-