diff options
author | Victor Stinner <vstinner@python.org> | 2020-03-24 16:32:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-24 16:32:26 +0100 |
commit | 5804f878e779712e803be927ca8a6df389d82cdf (patch) | |
tree | 393bdef0f05d253739d2a0335391541cb482fc26 /Include | |
parent | 472fc843ca816d65c12f9508ac762ca492165c45 (diff) | |
download | cpython-git-5804f878e779712e803be927ca8a6df389d82cdf.tar.gz |
bpo-20526: Fix PyThreadState_Clear(): don't decref frame (GH-19120)
PyThreadState.frame is a borrowed reference, not a strong reference:
PyThreadState_Clear() must not call Py_CLEAR(tstate->frame).
Remove test_threading.test_warnings_at_exit(): we cannot warranty
that the Python thread state of daemon threads is cleared in a
reliable way during Python shutdown.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/cpython/pystate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Include/cpython/pystate.h b/Include/cpython/pystate.h index de3529670a..4ea509dc6e 100644 --- a/Include/cpython/pystate.h +++ b/Include/cpython/pystate.h @@ -55,6 +55,7 @@ struct _ts { struct _ts *next; PyInterpreterState *interp; + /* Borrowed reference to the current frame (it can be NULL) */ struct _frame *frame; int recursion_depth; char overflowed; /* The stack has overflowed. Allow 50 more calls |