PyGILState cleanup was too early - destructors called via module cleanup may use the API.
This commit is contained in:
parent
ecd2fdca0f
commit
6cb9029a22
|
@ -254,11 +254,6 @@ Py_Finalize(void)
|
|||
call_sys_exitfunc();
|
||||
initialized = 0;
|
||||
|
||||
/* Cleanup auto-thread-state */
|
||||
#ifdef WITH_THREAD
|
||||
_PyGILState_Fini();
|
||||
#endif /* WITH_THREAD */
|
||||
|
||||
/* Get current thread state and interpreter pointer */
|
||||
tstate = PyThreadState_Get();
|
||||
interp = tstate->interp;
|
||||
|
@ -310,6 +305,11 @@ Py_Finalize(void)
|
|||
*/
|
||||
_PyExc_Fini();
|
||||
|
||||
/* Cleanup auto-thread-state */
|
||||
#ifdef WITH_THREAD
|
||||
_PyGILState_Fini();
|
||||
#endif /* WITH_THREAD */
|
||||
|
||||
/* Clear interpreter state */
|
||||
PyInterpreterState_Clear(interp);
|
||||
|
||||
|
|
Loading…
Reference in New Issue