summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bpo-31843: sqlite3.connect() now accepts PathLike objects as database name ↵Anders Lorentsen2017-11-075-7/+32
| | | | (#4299)
* bpo-31764: Prevent a crash in sqlite3.Cursor.close() in case the Cursor ↵Oren Milman2017-11-073-0/+10
| | | | object is uninitialized (#3958)
* bpo-31770: Prevent a crash and refleaks when calling ↵Oren Milman2017-11-073-8/+27
| | | | sqlite3.Cursor.__init__() more than once (#3968)
* bpo-31945: Configurable blocksize in HTTP(S)Connection (#4279)Nir Soffer2017-11-065-9/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* bpo-31957: Fixes version detection. (#4298)Steve Dower2017-11-062-8/+8
|
* Remove outdated with_threads checks in configure.ac (GH-4294)Berker Peksag2017-11-062-14/+2
|
* Fix miscellaneous typos (#4275)luzpaz2017-11-0550-82/+82
|
* bpo-28994: PyErr_NormalizeException() no longer use C stack for recursion. ↵Serhiy Storchaka2017-11-051-39/+33
| | | | | (#2035) MemoryError raised when normalizing a RecursionError raised during exception normalization now not always causes a fatal error.
* bpo-22257: Mention startup refactoring in What's New (GH-4286)Nick Coghlan2017-11-051-0/+14
| | | | | | | | | | | | 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".
* bpo-31609: Fixes quotes in PCbuild/clean.bat (#4280)Steve Dower2017-11-042-1/+2
|
* bpo-31944: Fixes build and Modify button (#4278)Steve Dower2017-11-045-5/+8
|
* bpo-31923: Fix spelling in sqlite3 docs (GH-4227)davy wybiral2017-11-041-1/+1
|
* Add version{changed,added} markers and make minor style changes (GH-4273)Berker Peksag2017-11-044-5/+11
|
* bpo-28564: Use os.scandir() in shutil.rmtree(). (#4085)Serhiy Storchaka2017-11-044-31/+55
| | | | This speeds up it to 20-40%.
* bpo-31678: Fix typo in PyDateTime_DELTA_GET_MICROSECONDS (GH-3869)Phobosmir2017-11-041-1/+1
|
* bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor (#4241)Antoine Pitrou2017-11-047-81/+246
| | | | | | * bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor * Fix docstring
* bpo-18699: Corrected documentation for window.chgat in curses module (#1430)Chillar Anand2017-11-041-4/+4
|
* bpo-9678: Fix determining the MAC address in the uuid module. (#4264)Serhiy Storchaka2017-11-042-2/+22
| | | | | | * Using ifconfig on NetBSD and OpenBSD. * Using arp on Linux, FreeBSD, NetBSD and OpenBSD. Based on patch by Takayuki Shimizukawa.
* Fix a grammatical problem and reword for clarity. (#4257)Barry Warsaw2017-11-031-5/+4
| | | bpo-31936
* bpo-31933: fix blake2 multi-byte params on big endian platforms (#4250)Jack O'Connor2017-11-034-4/+46
| | | | | | | | | | | | 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.
* bpo-30057: Fix potential missed signal in signal.signal(). (#4258)Antoine Pitrou2017-11-033-1/+6
| | | Bug report and patch by Jeroen Demeyer.
* bpo-31924: Fix test_curses on NetBSD 8. (#4228)Serhiy Storchaka2017-11-031-2/+4
|
* bpo-31310: multiprocessing's semaphore tracker should be launched again if ↵Antoine Pitrou2017-11-033-7/+57
| | | | | | | | | | | crashed (#3247) * 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
* bpo-31308: If multiprocessing's forkserver dies, launch it again when ↵Antoine Pitrou2017-11-033-5/+66
| | | | | | | | | | | | | | | | | | | | | | necessary (#3246) * 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.
* bpo-31926: fix missing *_METHODDEF statements by argument clinic (#4230)Tal Einat2017-11-034-7/+9
| | | | | | | | | 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.
* bpo-31415: Support PYTHONPROFILEIMPORTTIME envvar equivalent to -X ↵Barry Warsaw2017-11-023-7/+25
| | | | | | importtime (#4240) Support PYTHONPROFILEIMPORTTIME envvar equivalent to -X importtime
* bpo-31890: define METH_STACKLESS (#4159)Anselm Kruis2017-11-021-0/+9
| | | Add METH_STACKLESS to prevent future collisions.
* bpo-28643: Record profile-opt build progress with stamp files (#4223)Neil Schemenauer2017-11-022-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Update multissltests: 1.0.2m, 1.1.0g (#4232)Christian Heimes2017-11-021-3/+2
|
* Returning 1 from the set_progress_handler handler cancels query (GH-4120)Simon Willison2017-11-021-0/+4
|
* bpo-31784: Implement PEP 564: add time.time_ns() (#3989)Victor Stinner2017-11-029-165/+583
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* bpo-31307: Make ConfigParser.read() accept bytes objects (GH-3420)Vincent Michel2017-11-024-2/+25
|
* bpo-31917: Add 3 new clock identifiers (#4207)Victor Stinner2017-11-024-0/+60
| | | | | | | Add new clock identfiers: * time.CLOCK_BOOTTIME * time.CLOCK_PROF * time.CLOCK_UPTIME
* bpo-23699: Use a macro to reduce boilerplate code in rich comparison ↵stratakis2017-11-0216-316/+75
| | | | functions (GH-793)
* bpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse(). ↵Serhiy Storchaka2017-11-013-13/+37
| | | | (#4220)
* bpo-15037: Add a workaround for getkey() in curses for ncurses 5.7 and ↵Serhiy Storchaka2017-11-013-2/+14
| | | | | | earlier. (#3826) Skip a test for unget_wch()/get_wch() on OpenBSD since they are broken in ncurses 5.7.
* [asyncio] bpo-30423: add regression test for orphan future causes ↵jimmylai2017-11-011-0/+16
| | | | | | | | "RuntimeError: Event loop stopped before Future completed." (#3295) * call remove_done_callback in finally section * [asyncio] bpo-30423 bug: add regression test for orphan future causes "RuntimeError: Event loop stopped before Future completed."
* bpo-31919: Fix building the curses module on OpenIndiana. (#4211)Serhiy Storchaka2017-11-015-11/+61
|
* Remove nested comments in blake2 (#4173)Lars Viklund2017-11-011-2/+4
| | | | | | | | | | | Replace occurence of nested comments in blake2 reference implementation with preprocessor directive for disabling unused code. `blake2s-load-xop.h` is conditionally pulled in only on chips with XOP support, among others the AMD Bulldozer. The malformed comments in the source file breaks the build of `hashlib`'s `_blake2` on GCC 6.3.0. Official reference code on github uses `#if` so this change should be uncontroversial.
* bpo-25720: Fix the method for checking pad state of curses WINDOW (#4164)Masayuki Yamamoto2017-11-016-17/+90
| | | | | | | | | Modify the code to use ncurses is_pad() instead of checking WINDOW _flags field. If your platform does not provide the is_pad(), the existing way that checks the field will be enabled. Note: This change does not drop support for platforms where do not have both WINDOW _flags field and is_pad().
* Fix test_socket.test_create_connection() (#4206)Victor Stinner2017-11-011-0/+4
| | | | bpo-31910: test_create_connection() now catchs also EADDRNOTAVAIL to fix the test on Travis CI.
* bpo-18835: Cleanup pymalloc (#4200)Victor Stinner2017-10-312-479/+565
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup pymalloc: * Rename _PyObject_Alloc() to pymalloc_alloc() * Rename _PyObject_FreeImpl() to pymalloc_free() * Rename _PyObject_Realloc() to pymalloc_realloc() * pymalloc_alloc() and pymalloc_realloc() don't fallback on the raw allocator anymore, it now must be done by the caller * Add "success" and "failed" labels to pymalloc_alloc() and pymalloc_free() * pymalloc_alloc() and pymalloc_free() don't update num_allocated_blocks anymore: it should be done in the caller * _PyObject_Calloc() is now responsible to fill the memory block allocated by pymalloc with zeros * Simplify pymalloc_alloc() prototype * _PyObject_Realloc() now calls _PyObject_Malloc() rather than calling directly pymalloc_alloc() _PyMem_DebugRawAlloc() and _PyMem_DebugRawRealloc(): * document the layout of a memory block * don't increase the serial number if the allocation failed * check for integer overflow before computing the total size * add a 'data' variable to make the code easiler to follow test_setallocators() of _testcapimodule.c now test also the context.
* bpo-20064: Document PyObject_Malloc() (#4199)Victor Stinner2017-10-311-1/+64
| | | | | | | | | | Document the following functions: * PyObject_Malloc() * PyObject_Calloc() * PyObject_Realloc() * PyObject_Free() Fix also PyMem_RawFree() documentation.
* bpo-31893: Fix errors in b9052a0f91d2e83bbc27267247a5920c82b242a3. (#4196)Serhiy Storchaka2017-10-311-4/+4
| | | | | * Fix a compilation error on FreeBSD. * Fix the data attribute size on Mac OS X.
* pythoninfo: add Py_DEBUG (#4198)Victor Stinner2017-10-311-0/+8
|
* test_capi.test__testcapi() becomes more verbose (#4197)Victor Stinner2017-10-311-4/+9
| | | | Write the name of each subtest on a new line to help debugging when a test does crash Python.
* bpo-31897: Convert unexpected errors when read bogus binary plists into ↵Serhiy Storchaka2017-10-313-5/+70
| | | | InvalidFileException. (#4171)
* bpo-31626: Fixed a bug in debug memory allocator. (#3844)Serhiy Storchaka2017-10-312-11/+4
| | | | Removed a code that incorrectly detected in-place resizing in realloc() and wrote to freed memory.
* bpo-31893: Fixed select.kqueue(). (#4166)Serhiy Storchaka2017-10-312-47/+73
| | | | * Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. * Fixed the comparison of the kqueue_event objects.
* bpo-31891: Fix building the curses module on NetBSD. (#4165)Serhiy Storchaka2017-10-317-51/+335
|