diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2023-06-01 22:50:28 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-01 22:50:28 (GMT) |
commit | d2be5c73ed520fb9d82a395f001eb9001711ed8f (patch) | |
tree | b25d3a5a6d33c6d311bab307c205b905f3aae6a2 /Include | |
parent | c38ceb032d59d6c8f2006ab9a347d7e207f9f84e (diff) | |
download | cpython-d2be5c73ed520fb9d82a395f001eb9001711ed8f.zip cpython-d2be5c73ed520fb9d82a395f001eb9001711ed8f.tar.gz cpython-d2be5c73ed520fb9d82a395f001eb9001711ed8f.tar.bz2 |
[3.12] gh-104341: Call _PyEval_ReleaseLock() with NULL When Finalizing the Current Thread (gh-105109) (gh-105209)
This avoids the problematic race in drop_gil() by skipping the FORCE_SWITCHING code there for finalizing threads.
(The idea for this approach came out of discussions with @markshannon.)
(cherry picked from commit 3698fda)
Co-authored-by: Eric Snow ericsnowcurrently@gmail.com
Diffstat (limited to 'Include')
-rw-r--r-- | Include/internal/pycore_ceval.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Include/internal/pycore_ceval.h b/Include/internal/pycore_ceval.h index 3c8b368..ca27037 100644 --- a/Include/internal/pycore_ceval.h +++ b/Include/internal/pycore_ceval.h @@ -100,7 +100,7 @@ extern PyStatus _PyEval_InitGIL(PyThreadState *tstate, int own_gil); extern void _PyEval_FiniGIL(PyInterpreterState *interp); extern void _PyEval_AcquireLock(PyThreadState *tstate); -extern void _PyEval_ReleaseLock(PyThreadState *tstate); +extern void _PyEval_ReleaseLock(PyInterpreterState *, PyThreadState *); extern PyThreadState * _PyThreadState_SwapNoGIL(PyThreadState *); extern void _PyEval_DeactivateOpCache(void); |