diff options
author | Sam Gross <colesbury@gmail.com> | 2024-05-31 15:42:09 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-31 15:42:09 (GMT) |
commit | 738cf216093e844c154f9ba36605f485fac5ff0d (patch) | |
tree | 0d8c7c81918c7e62cf540bd0d8e5a7fff5e2ef1c /Python/generated_cases.c.h | |
parent | d4680b9e17815140b512a399069400794dae1f97 (diff) | |
download | cpython-738cf216093e844c154f9ba36605f485fac5ff0d.zip cpython-738cf216093e844c154f9ba36605f485fac5ff0d.tar.gz cpython-738cf216093e844c154f9ba36605f485fac5ff0d.tar.bz2 |
[3.12] gh-119585: Fix crash involving `PyGILState_Release()` and `PyThreadState_Clear()` (GH-119753) (#119861)
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.
(cherry picked from commit bcc1be39cb1d04ad9fc0bd1b9193d3972835a57c)
Diffstat (limited to 'Python/generated_cases.c.h')
0 files changed, 0 insertions, 0 deletions