Staging
v0.5.1
https://github.com/python/cpython
Revision 6eb2878e42152e9c45d7ee5e6f889532d753e67c authored by Miss Islington (bot) on 13 June 2019, 12:22:20 UTC, committed by Victor Stinner on 13 June 2019, 12:22:20 UTC
* bpo-36402: Fix threading._shutdown() race condition (GH-13948)

Fix a race condition at Python shutdown when waiting for threads.
Wait until the Python thread state of all non-daemon threads get
deleted (join all non-daemon threads), rather than just wait until
Python threads complete.

* Add threading._shutdown_locks: set of Thread._tstate_lock locks
  of non-daemon threads used by _shutdown() to wait until all Python
  thread states get deleted. See Thread._set_tstate_lock().
* Add also threading._shutdown_locks_lock to protect access to
  threading._shutdown_locks.
* Add test_finalization_shutdown() test.

(cherry picked from commit 468e5fec8a2f534f1685d59da3ca4fad425c38dd)

* bpo-36402: Fix threading.Thread._stop() (GH-14047)

Remove the _tstate_lock from _shutdown_locks, don't remove None.

(cherry picked from commit 6f75c873752a16a7ad8f35855b1e29f59d048e84)
(cherry picked from commit e40a97a721d46307dfdc2b0322028ccded6eb571)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
1 parent b4c8ef7
History
Tip revision: 6eb2878e42152e9c45d7ee5e6f889532d753e67c authored by Miss Islington (bot) on 13 June 2019, 12:22:20 UTC
bpo-36402: Fix threading._shutdown() race condition (GH-13948) (GH-14050) (GH-14054)
Tip revision: 6eb2878
File Mode Size
bdist_wininst
clinic
icons
layout
WinMain.c -rw-r--r-- 449 bytes
_msi.c -rw-r--r-- 32.5 KB
_testconsole.c -rw-r--r-- 3.3 KB
classicAppCompat.can.xml -rw-r--r-- 3.9 KB
classicAppCompat.cat -rw-r--r-- 10.7 KB
classicAppCompat.sccd -rw-r--r-- 18.1 KB
config.c -rw-r--r-- 5.3 KB
dl_nt.c -rw-r--r-- 4.6 KB
empty.c -rw-r--r-- 137 bytes
errmap.h -rw-r--r-- 2.1 KB
errmap.mak -rw-r--r-- 95 bytes
frozen_dllmain.c -rw-r--r-- 3.9 KB
generrmap.c -rw-r--r-- 849 bytes
getpathp.c -rw-r--r-- 32.2 KB
invalid_parameter_handler.c -rw-r--r-- 549 bytes
launcher.c -rw-r--r-- 59.6 KB
msvcrtmodule.c -rw-r--r-- 15.3 KB
pyconfig.h -rw-r--r-- 19.6 KB
pylauncher.rc -rw-r--r-- 1.5 KB
pyshellext.cpp -rw-r--r-- 18.3 KB
pyshellext.def -rw-r--r-- 141 bytes
pyshellext.idl -rw-r--r-- 277 bytes
pyshellext.rc -rw-r--r-- 1.1 KB
pyshellext_d.def -rw-r--r-- 143 bytes
python.manifest -rw-r--r-- 1.3 KB
python3.def -rw-r--r-- 40.5 KB
python3dll.c -rw-r--r-- 134 bytes
python_exe.rc -rw-r--r-- 1.2 KB
python_nt.rc -rw-r--r-- 1.2 KB
python_uwp.cpp -rw-r--r-- 5.5 KB
python_ver_rc.h -rw-r--r-- 970 bytes
pythonw_exe.rc -rw-r--r-- 1.2 KB
readme.txt -rw-r--r-- 3.5 KB
sqlite3.rc -rw-r--r-- 1.3 KB
store_info.txt -rw-r--r-- 5.6 KB
testpy.py -rw-r--r-- 831 bytes
validate_ucrtbase.py -rw-r--r-- 2.7 KB
winreg.c -rw-r--r-- 60.1 KB
winsound.c -rw-r--r-- 6.5 KB

readme.txt

back to top