From: Benjamin Peterson Date: Tue, 17 Jun 2014 07:34:46 +0000 (-0700) Subject: revert tstate_delete_common, since it's pretty much wrong X-Git-Tag: v3.4.2rc1~369 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=59830b6ec4e07394e2ecfccb8683add64b4139d7;p=python revert tstate_delete_common, since it's pretty much wrong --- diff --git a/Python/pystate.c b/Python/pystate.c index 7afca17b7e..2ac2fd5274 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -425,14 +425,7 @@ PyThreadState_DeleteCurrent() _Py_atomic_store_relaxed(&_PyThreadState_Current, NULL); if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate) 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(); } #endif /* WITH_THREAD */