Browse Source

revert tstate_delete_common, since it's pretty much wrong

pull/224/head
Benjamin Peterson 12 years ago
parent
commit
59830b6ec4
  1. 9
      Python/pystate.c

9
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 */

Loading…
Cancel
Save