summaryrefslogtreecommitdiffstats
path: root/Lib/urllib
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-09-19 22:13:56 (GMT)
committerGitHub <noreply@github.com>2022-09-19 22:13:56 (GMT)
commit04f4977f508583954ad7b9cb09076ee1e57461f8 (patch)
tree4724eb64e88a0f65d9b978d3a42e5dd1c7cfd560 /Lib/urllib
parentc10e33ac119d96c4d88d5ae8b59e65a76ae0ad3c (diff)
downloadcpython-04f4977f508583954ad7b9cb09076ee1e57461f8.zip
cpython-04f4977f508583954ad7b9cb09076ee1e57461f8.tar.gz
cpython-04f4977f508583954ad7b9cb09076ee1e57461f8.tar.bz2
gh-96387: take_gil() resets drop request before exit (#96869)
At Python exit, sometimes a thread holding the GIL can wait forever for a thread (usually a daemon thread) which requested to drop the GIL, whereas the thread already exited. To fix the race condition, the thread which requested the GIL drop now resets its request before exiting. take_gil() now calls RESET_GIL_DROP_REQUEST() before PyThread_exit_thread() if it called SET_GIL_DROP_REQUEST to fix a race condition with drop_gil(). Issue discovered and analyzed by Mingliang ZHAO.
Diffstat (limited to 'Lib/urllib')
0 files changed, 0 insertions, 0 deletions