Staging
v0.8.1
v0.8.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
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)
bpo-36402: Fix threading._shutdown() race condition (GH-13948) (GH-14050) (GH-14054)
Tip revision: 6eb2878
File | Mode | Size |
---|---|---|
_asyncio.vcxproj | -rw-r--r-- | 3.0 KB |
_asyncio.vcxproj.filters | -rw-r--r-- | 520 bytes |
_bz2.vcxproj | -rw-r--r-- | 3.9 KB |
_bz2.vcxproj.filters | -rw-r--r-- | 1.7 KB |
_ctypes.vcxproj | -rw-r--r-- | 4.7 KB |
_ctypes.vcxproj.filters | -rw-r--r-- | 2.3 KB |
_ctypes_test.vcxproj | -rw-r--r-- | 3.1 KB |
_ctypes_test.vcxproj.filters | -rw-r--r-- | 718 bytes |
_decimal.vcxproj | -rw-r--r-- | 5.9 KB |
_decimal.vcxproj.filters | -rw-r--r-- | 4.3 KB |
_elementtree.vcxproj | -rw-r--r-- | 4.4 KB |
_elementtree.vcxproj.filters | -rw-r--r-- | 2.6 KB |
_freeze_importlib.vcxproj | -rw-r--r-- | 5.2 KB |
_freeze_importlib.vcxproj.filters | -rw-r--r-- | 1.1 KB |
_hashlib.vcxproj | -rw-r--r-- | 3.2 KB |
_hashlib.vcxproj.filters | -rw-r--r-- | 436 bytes |
_lzma.vcxproj | -rw-r--r-- | 3.7 KB |
_lzma.vcxproj.filters | -rw-r--r-- | 435 bytes |
_msi.vcxproj | -rw-r--r-- | 3.1 KB |
_msi.vcxproj.filters | -rw-r--r-- | 423 bytes |
_multiprocessing.vcxproj | -rw-r--r-- | 3.3 KB |
_multiprocessing.vcxproj.filters | -rw-r--r-- | 861 bytes |
_overlapped.vcxproj | -rw-r--r-- | 3.1 KB |
_overlapped.vcxproj.filters | -rw-r--r-- | 434 bytes |
_queue.vcxproj | -rw-r--r-- | 3.0 KB |
_queue.vcxproj.filters | -rw-r--r-- | 518 bytes |
_socket.vcxproj | -rw-r--r-- | 3.2 KB |
_socket.vcxproj.filters | -rw-r--r-- | 702 bytes |
_sqlite3.vcxproj | -rw-r--r-- | 4.5 KB |
_sqlite3.vcxproj.filters | -rw-r--r-- | 2.4 KB |
_ssl.vcxproj | -rw-r--r-- | 3.6 KB |
_ssl.vcxproj.filters | -rw-r--r-- | 620 bytes |
_testbuffer.vcxproj | -rw-r--r-- | 3.0 KB |
_testbuffer.vcxproj.filters | -rw-r--r-- | 435 bytes |
_testcapi.vcxproj | -rw-r--r-- | 3.0 KB |
_testcapi.vcxproj.filters | -rw-r--r-- | 439 bytes |
_testconsole.vcxproj | -rw-r--r-- | 3.2 KB |
_testconsole.vcxproj.filters | -rw-r--r-- | 952 bytes |
_testembed.vcxproj | -rw-r--r-- | 3.1 KB |
_testembed.vcxproj.filters | -rw-r--r-- | 948 bytes |
_testimportmultiple.vcxproj | -rw-r--r-- | 3.0 KB |
_testimportmultiple.vcxproj.filters | -rw-r--r-- | 444 bytes |
_testmultiphase.vcxproj | -rw-r--r-- | 3.2 KB |
_testmultiphase.vcxproj.filters | -rw-r--r-- | 952 bytes |
_tkinter.vcxproj | -rw-r--r-- | 4.5 KB |
_tkinter.vcxproj.filters | -rw-r--r-- | 534 bytes |
build.bat | -rw-r--r-- | 5.9 KB |
build_env.bat | -rw-r--r-- | 25 bytes |
clean.bat | -rw-r--r-- | 128 bytes |
env.bat | -rw-r--r-- | 712 bytes |
field3.py | -rw-r--r-- | 974 bytes |
find_msbuild.bat | -rw-r--r-- | 3.3 KB |
find_python.bat | -rw-r--r-- | 3.0 KB |
fix_encoding.py | -rw-r--r-- | 952 bytes |
get_external.py | -rw-r--r-- | 1.8 KB |
get_externals.bat | -rw-r--r-- | 4.0 KB |
idle.bat | -rw-r--r-- | 296 bytes |
lib.pyproj | -rw-r--r-- | 89.5 KB |
liblzma.vcxproj | -rw-r--r-- | 13.1 KB |
openssl.props | -rw-r--r-- | 1.5 KB |
openssl.vcxproj | -rw-r--r-- | 5.7 KB |
pcbuild.proj | -rw-r--r-- | 5.9 KB |
pcbuild.sln | -rw-r--r-- | 57.9 KB |
prepare_ssl.bat | -rw-r--r-- | 2.1 KB |
prepare_ssl.py | -rw-r--r-- | 6.7 KB |
prepare_tcltk.bat | -rw-r--r-- | 1.9 KB |
pyexpat.vcxproj | -rw-r--r-- | 3.6 KB |
pyexpat.vcxproj.filters | -rw-r--r-- | 1.2 KB |
pylauncher.vcxproj | -rw-r--r-- | 3.2 KB |
pylauncher.vcxproj.filters | -rw-r--r-- | 1.2 KB |
pyproject.props | -rw-r--r-- | 11.4 KB |
pyshellext.vcxproj | -rw-r--r-- | 3.4 KB |
pyshellext.vcxproj.filters | -rw-r--r-- | 1.4 KB |
python.props | -rw-r--r-- | 12.4 KB |
python.vcxproj | -rw-r--r-- | 5.0 KB |
python.vcxproj.filters | -rw-r--r-- | 824 bytes |
python3dll.vcxproj | -rw-r--r-- | 6.6 KB |
python3dll.vcxproj.filters | -rw-r--r-- | 1.2 KB |
python_uwp.vcxproj | -rw-r--r-- | 3.3 KB |
pythoncore.vcxproj | -rw-r--r-- | 23.8 KB |
pythoncore.vcxproj.filters | -rw-r--r-- | 34.2 KB |
pythonw.vcxproj | -rw-r--r-- | 3.0 KB |
pythonw.vcxproj.filters | -rw-r--r-- | 702 bytes |
pythonw_uwp.vcxproj | -rw-r--r-- | 3.3 KB |
pywlauncher.vcxproj | -rw-r--r-- | 3.2 KB |
pywlauncher.vcxproj.filters | -rw-r--r-- | 1.2 KB |
readme.txt | -rw-r--r-- | 10.9 KB |
rmpyc.py | -rw-r--r-- | 409 bytes |
rt.bat | -rw-r--r-- | 2.0 KB |
select.vcxproj | -rw-r--r-- | 3.1 KB |
select.vcxproj.filters | -rw-r--r-- | 436 bytes |
sqlite3.vcxproj | -rw-r--r-- | 4.1 KB |
sqlite3.vcxproj.filters | -rw-r--r-- | 804 bytes |
tcl.vcxproj | -rw-r--r-- | 3.0 KB |
tcltk.props | -rw-r--r-- | 3.2 KB |
tix.vcxproj | -rw-r--r-- | 3.9 KB |
tk.vcxproj | -rw-r--r-- | 3.2 KB |
unicodedata.vcxproj | -rw-r--r-- | 3.1 KB |
unicodedata.vcxproj.filters | -rw-r--r-- | 810 bytes |
urlretrieve.py | -rw-r--r-- | 1.2 KB |
venvlauncher.vcxproj | -rw-r--r-- | 3.3 KB |
venvwlauncher.vcxproj | -rw-r--r-- | 3.3 KB |
winsound.vcxproj | -rw-r--r-- | 3.1 KB |
winsound.vcxproj.filters | -rw-r--r-- | 500 bytes |
xxlimited.vcxproj | -rw-r--r-- | 3.2 KB |
xxlimited.vcxproj.filters | -rw-r--r-- | 433 bytes |
Computing file changes ...