gh-104341: Adjust tstate_must_exit() to Respect Interpreter Finalization (gh-104437)

With the move to a per-interpreter GIL, this check slipped through the cracks.
This commit is contained in:
Eric Snow 2023-05-15 13:59:26 -06:00 committed by GitHub
parent cb88ae635e
commit 26baa747c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 56 additions and 10 deletions

View file

@ -332,6 +332,7 @@ _PySys_ClearAuditHooks(PyThreadState *ts)
}
_PyRuntimeState *runtime = ts->interp->runtime;
/* The hooks are global so we have to check for runtime finalization. */
PyThreadState *finalizing = _PyRuntimeState_GetFinalizing(runtime);
assert(finalizing == ts);
if (finalizing != ts) {
@ -2039,6 +2040,9 @@ sys__clear_type_cache_impl(PyObject *module)
Py_RETURN_NONE;
}
/* Note that, for now, we do not have a per-interpreter equivalent
for sys.is_finalizing(). */
/*[clinic input]
sys.is_finalizing