summaryrefslogtreecommitdiffstats
path: root/Python/crossinterp_exceptions.h
diff options
context:
space:
mode:
authorSam Gross <colesbury@gmail.com>2024-05-31 14:50:52 (GMT)
committerGitHub <noreply@github.com>2024-05-31 14:50:52 (GMT)
commitbcc1be39cb1d04ad9fc0bd1b9193d3972835a57c (patch)
tree74444fcc18034b396ec249de8f9735441f4338da /Python/crossinterp_exceptions.h
parent891c1e36f4e08da107443772a4eb50c72a83836d (diff)
downloadcpython-bcc1be39cb1d04ad9fc0bd1b9193d3972835a57c.zip
cpython-bcc1be39cb1d04ad9fc0bd1b9193d3972835a57c.tar.gz
cpython-bcc1be39cb1d04ad9fc0bd1b9193d3972835a57c.tar.bz2
gh-119585: Fix crash involving `PyGILState_Release()` and `PyThreadState_Clear()` (#119753)
Make sure that `gilstate_counter` is not zero in when calling `PyThreadState_Clear()`. A destructor called from `PyThreadState_Clear()` may call back into `PyGILState_Ensure()` and `PyGILState_Release()`. If `gilstate_counter` is zero, it will try to create a new thread state before the current active thread state is destroyed, leading to an assertion failure or crash.
Diffstat (limited to 'Python/crossinterp_exceptions.h')
0 files changed, 0 insertions, 0 deletions