summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-06-13 11:44:23 (GMT)
committerGitHub <noreply@github.com>2019-06-13 11:44:23 (GMT)
commite40a97a721d46307dfdc2b0322028ccded6eb571 (patch)
tree54beecac4d7b08b26518964adeb39ce4574f9b22 /Python
parent032bf30643fff49b5595b53f9c1ce5b2cd2df504 (diff)
downloadcpython-e40a97a721d46307dfdc2b0322028ccded6eb571.zip
cpython-e40a97a721d46307dfdc2b0322028ccded6eb571.tar.gz
cpython-e40a97a721d46307dfdc2b0322028ccded6eb571.tar.bz2
[3.8] bpo-36402: Fix threading._shutdown() race condition (GH-13948) (GH-14050)
* 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)
Diffstat (limited to 'Python')
0 files changed, 0 insertions, 0 deletions