summaryrefslogtreecommitdiffstats
path: root/Python/pystate.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2014-06-17 07:34:14 (GMT)
committerBenjamin Peterson <benjamin@python.org>2014-06-17 07:34:14 (GMT)
commit3232384e1e5656d7a9f8f9acc7fd64697cb2226b (patch)
treea5cf30f55051483026a4413212e1e306f2be2a5b /Python/pystate.c
parent81669697aa85acb22c3e02c1c7d2788a30ecfee7 (diff)
downloadcpython-3232384e1e5656d7a9f8f9acc7fd64697cb2226b.zip
cpython-3232384e1e5656d7a9f8f9acc7fd64697cb2226b.tar.gz
cpython-3232384e1e5656d7a9f8f9acc7fd64697cb2226b.tar.bz2
revert tstate_delete_common, since it's pretty much wrong
Diffstat (limited to 'Python/pystate.c')
-rw-r--r--Python/pystate.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index 7584ea0..eb992c1 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -315,16 +315,9 @@ PyThreadState_DeleteCurrent()
Py_FatalError(
"PyThreadState_DeleteCurrent: no current tstate");
_PyThreadState_Current = NULL;
- /*
- 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);
if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate)
PyThread_delete_key_value(autoTLSkey);
+ tstate_delete_common(tstate);
PyEval_ReleaseLock();
}
#endif /* WITH_THREAD */