mirror of https://github.com/python/cpython
merge 3.4
This commit is contained in:
commit
450c1586c0
|
@ -425,14 +425,7 @@ PyThreadState_DeleteCurrent()
|
||||||
_Py_atomic_store_relaxed(&_PyThreadState_Current, NULL);
|
_Py_atomic_store_relaxed(&_PyThreadState_Current, NULL);
|
||||||
if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate)
|
if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate)
|
||||||
PyThread_delete_key_value(autoTLSkey);
|
PyThread_delete_key_value(autoTLSkey);
|
||||||
/*
|
tstate_delete_common(tstate);
|
||||||
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);
|
|
||||||
PyEval_ReleaseLock();
|
PyEval_ReleaseLock();
|
||||||
}
|
}
|
||||||
#endif /* WITH_THREAD */
|
#endif /* WITH_THREAD */
|
||||||
|
|
Loading…
Reference in New Issue