]> granicus.if.org Git - python/commitdiff
remove extra call to tstate_delete_common (merge artifact)
authorBenjamin Peterson <benjamin@python.org>
Tue, 17 Jun 2014 06:49:02 +0000 (23:49 -0700)
committerBenjamin Peterson <benjamin@python.org>
Tue, 17 Jun 2014 06:49:02 +0000 (23:49 -0700)
Python/pystate.c

index 8c1fad215c2afdec5e1ed9c2ae896314e9ba24ab..7afca17b7ed094840c3fdee211f77b303a5f298c 100644 (file)
@@ -423,6 +423,8 @@ PyThreadState_DeleteCurrent()
         Py_FatalError(
             "PyThreadState_DeleteCurrent: no current tstate");
     _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
@@ -431,9 +433,6 @@ PyThreadState_DeleteCurrent()
     */
     if (!_Py_Finalizing || _Py_Finalizing == tstate)
         tstate_delete_common(tstate);
-    if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate)
-        PyThread_delete_key_value(autoTLSkey);
-    tstate_delete_common(tstate);
     PyEval_ReleaseLock();
 }
 #endif /* WITH_THREAD */