- 23 May, 2017 6 commits
-
-
Roy Williams authored
* Allow FileInput to accept a single PathLike object as a parameter for `files` Fixes bpo-30432: FileInput doesn't accept PathLike objects for file names * Address comments from @ambv
-
Amit Kumar authored
-
Eric Snow authored
PEP 432 specifies a number of large changes to interpreter startup code, including exposing a cleaner C-API. The major changes depend on a number of smaller changes. This patch includes all those smaller changes.
-
Thomas Kluyver authored
Some objects (like test mocks) auto-generate new objects on attribute access, which can lead to an infinite loop in inspect.unwrap(). Ensuring references are retained to otherwise temporary objects and capping the size of the memo dict turns this case into a conventional exception instead.
-
Eric Snow authored
-
Berker Peksag authored
-
- 22 May, 2017 10 commits
-
-
Jason Fried authored
head_lock could be held by another thread when fork happened. We should reset it to avoid deadlock.
-
Łukasz Langa authored
Note: this doesn't unpack f-strings into the underlying JoinedStr AST. Ideally we'd fully implement JoinedStr here but given its additional complexity, I think this is worth bandaiding as is. This unblocks tools like https://github.com/google/yapf to format 3.6 syntax using f-strings.
-
T. Wouters authored
Defaults to 'no', but as before assertions are implied by --with-pydebug.
-
Łukasz Langa authored
This partially solves bpo-23894.
-
Stéphane Wirtel authored
-
Naomi Ceder authored
-
Vijay Kumar authored
Ran the docstrings through spell checker, and fixed spelling issues.
-
Xiang Zhang authored
-
Ben Lloyd authored
There was an unneeded space before a closing parenthesis in the `unittest.mock` documentation.
-
xdegaye authored
bpo-29619: Do not use HAVE_LARGEFILE_SUPPORT for type conversions (GH-1666). * Use only the LongLong form for the conversions.
-
- 21 May, 2017 2 commits
-
-
mlouielu authored
Increases coverage to 99%
-
Serhiy Storchaka authored
-
- 20 May, 2017 4 commits
-
-
Giampaolo Rodola authored
* #30014: refactor poll-related classes so that poll(), epoll() and devpoll() share the same methods for register(), unregister(), close() and select() * remove unused attribute * use specific class attributes instead of select.* constants * have all classes except SelectSelector a _selector attribute * BaseException -> Exception * be explicit in defining a close() method only for selectors which have it * fix AttributeError
-
Serhiy Storchaka authored
Based on patches by Duane Griffin and Tim Mitchell.
-
csabella authored
Original patch by Dennis Mårtensson.
-
Serhiy Storchaka authored
Based on patch by Eryk Sun.
-
- 19 May, 2017 3 commits
-
-
delirious-lettuce authored
-
remitamine authored
-
delirious-lettuce authored
-
- 18 May, 2017 4 commits
-
-
Victor Stinner authored
Workaround for a regrtest bug.
-
Jon Dufresne authored
* Replaced list(<generator expression>) with list comprehension * Replaced dict(<generator expression>) with dict comprehension * Replaced set(<list literal>) with set literal * Replaced builtin func(<list comprehension>) with func(<generator expression>) when supported (e.g. any(), all(), tuple(), min(), & max())
-
Senthil Kumaran authored
-
terryjreedy authored
-
- 17 May, 2017 7 commits
-
-
Louie Lu authored
-
Nathaniel J. Smith authored
If we have a chain of generators/coroutines that are 'yield from'ing each other, then resuming the stack works like: - call send() on the outermost generator - this enters _PyEval_EvalFrameDefault, which re-executes the YIELD_FROM opcode - which calls send() on the next generator - which enters _PyEval_EvalFrameDefault, which re-executes the YIELD_FROM opcode - ...etc. However, every time we enter _PyEval_EvalFrameDefault, the first thing we do is to check for pending signals, and if there are any then we run the signal handler. And if it raises an exception, then we immediately propagate that exception *instead* of starting to execute bytecode. This means that e.g. a SIGINT at the wrong moment can "break the chain" – it can be raised in the middle of our yield from chain, with the bottom part of the stack abandoned for the garbage collector. The fix is pretty simple: there's already a special case in _PyEval_EvalFrameEx where it skips running signal handlers if the next opcode is SETUP_FINALLY. (I don't see how this accomplishes anything useful, but that's another story.) If we extend this check to also skip running signal handlers when the next opcode is YIELD_FROM, then that closes the hole – now the exception can only be raised at the innermost stack frame. This shouldn't have any performance implications, because the opcode check happens inside the "slow path" after we've already determined that there's a pending signal or something similar for us to process; the vast majority of the time this isn't true and the new check doesn't run at all.
-
Steve Dower authored
-
Steve Dower authored
* Adds lib.pyproj file to solution so that VS with Python support can open all the files in the standard library. * Remove unexpected solution configuration. * Remove lib.pyproj from solution to avoid memory issues on VS 2015.
-
Dong-hee Na authored
-
Victor Stinner authored
test_is_alive_after_fork() now joins directly the thread to avoid the following warning added by bpo-30357: Warning -- threading_cleanup() failed to cleanup 0 threads after 2 sec (count: 0, dangling: 21) Use also a different exit code to catch generic exit code 1.
-
Xiang Zhang authored
Under *spawn* and *forkserver* start methods, SimpleQueue.empty() could raise AttributeError due to not setting _poll in __setstate__.
-
- 16 May, 2017 4 commits
-
-
csabella authored
-
Nathaniel J. Smith authored
Before, it was possible to get the following sequence of events (especially on Windows, where the C-level signal handler for SIGINT is run in a separate thread): - SIGINT arrives - trip_signal is called - trip_signal writes to the wakeup fd - the main thread wakes up from select()-or-equivalent - the main thread checks for pending signals, but doesn't see any - the main thread drains the wakeup fd - the main thread goes back to sleep - trip_signal sets is_tripped=1 and calls Py_AddPendingCall to notify the main thread the it should run the Python-level signal handler - the main thread doesn't notice because it's asleep This has been causing repeated failures in the Trio test suite: https://github.com/python-trio/trio/issues/119
-
Mariatta authored
-
Serhiy Storchaka authored
* Use explicit numbering for footnotes referred by explicit number. * Restore missed footnote reference in stdtypes.rst. * Fix literal strings formatting in howto/urllib2.rst. * Update susp-ignored.csv for zipapp.rst. * Fix suspicious mark up in Misc/NEWS.
-