Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 0b7629cd846e3e160ac07cafc4e97644024f11b8 authored by Victor Stinner on 10 June 2017, 09:20:03 UTC, committed by GitHub on 10 June 2017, 09:20:03 UTC
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 (cherry picked from commit 4ae01496971624c75080431806ed1c08e00f22c7)
1 parent 12cbd87
Tip revision: 0b7629cd846e3e160ac07cafc4e97644024f11b8 authored by Victor Stinner on 10 June 2017, 09:20:03 UTC
bpo-30038: fix race condition in signal delivery + wakeup fd (#1082) (#2075)
bpo-30038: fix race condition in signal delivery + wakeup fd (#1082) (#2075)
Tip revision: 0b7629c
File | Mode | Size |
---|---|---|
.github | ||
Doc | ||
Grammar | ||
Include | ||
Lib | ||
Mac | ||
Misc | ||
Modules | ||
Objects | ||
PC | ||
PCbuild | ||
Parser | ||
Programs | ||
Python | ||
Tools | ||
.bzrignore | -rw-r--r-- | 582 bytes |
.gitattributes | -rw-r--r-- | 255 bytes |
.gitignore | -rw-r--r-- | 1.3 KB |
.hgeol | -rw-r--r-- | 1.0 KB |
.hgignore | -rw-r--r-- | 1.3 KB |
.hgtags | -rw-r--r-- | 8.7 KB |
.mention-bot | -rw-r--r-- | 39 bytes |
.travis.yml | -rw-r--r-- | 3.9 KB |
LICENSE | -rw-r--r-- | 12.5 KB |
Makefile.pre.in | -rw-r--r-- | 57.9 KB |
README.rst | -rw-r--r-- | 9.1 KB |
aclocal.m4 | -rw-r--r-- | 10.7 KB |
config.guess | -rwxr-xr-x | 43.2 KB |
config.sub | -rwxr-xr-x | 35.7 KB |
configure | -rwxr-xr-x | 473.4 KB |
configure.ac | -rw-r--r-- | 156.7 KB |
install-sh | -rwxr-xr-x | 7.0 KB |
pyconfig.h.in | -rw-r--r-- | 40.4 KB |
setup.py | -rw-r--r-- | 98.8 KB |
Computing file changes ...