Commit 59830b6e authored by Benjamin Peterson's avatar Benjamin Peterson

revert tstate_delete_common, since it's pretty much wrong

parent 95d75194
...@@ -425,13 +425,6 @@ PyThreadState_DeleteCurrent() ...@@ -425,13 +425,6 @@ PyThreadState_DeleteCurrent()
_Py_atomic_store_relaxed(&_PyThreadState_Current, NULL); _Py_atomic_store_relaxed(&_PyThreadState_Current, NULL);
if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate) if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate)
PyThread_delete_key_value(autoTLSkey); PyThread_delete_key_value(autoTLSkey);
/*
Only call tstate_delete_common to have the tstate if we're not finalizing
or we're the main thread. The main thread will do this for us. Not calling
tstate_delete_common means we won't lock the interpreter head lock,
avoiding a possible deadlock with the GIL.
*/
if (!_Py_Finalizing || _Py_Finalizing == tstate)
tstate_delete_common(tstate); tstate_delete_common(tstate);
PyEval_ReleaseLock(); PyEval_ReleaseLock();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment