]> granicus.if.org Git - python/commitdiff
revert tstate_delete_common, since it's pretty much wrong
authorBenjamin Peterson <benjamin@python.org>
Tue, 17 Jun 2014 07:34:46 +0000 (00:34 -0700)
committerBenjamin Peterson <benjamin@python.org>
Tue, 17 Jun 2014 07:34:46 +0000 (00:34 -0700)
Python/pystate.c

index 7afca17b7ed094840c3fdee211f77b303a5f298c..2ac2fd5274d4059a4a765dac87f0e5cf9ad685bd 100644 (file)
@@ -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 */