mirror of
https://github.com/python/cpython.git
synced 2025-07-19 01:05:26 +00:00
Move exception finalisation later in the shutdown process - this
fixes the crash seen in bug #1165761
This commit is contained in:
parent
b7e99b642f
commit
12b6f6cac7
2 changed files with 13 additions and 7 deletions
|
@ -392,13 +392,6 @@ Py_Finalize(void)
|
|||
_Py_PrintReferences(stderr);
|
||||
#endif /* Py_TRACE_REFS */
|
||||
|
||||
/* Now we decref the exception classes. After this point nothing
|
||||
can raise an exception. That's okay, because each Fini() method
|
||||
below has been checked to make sure no exceptions are ever
|
||||
raised.
|
||||
*/
|
||||
_PyExc_Fini();
|
||||
|
||||
/* Cleanup auto-thread-state */
|
||||
#ifdef WITH_THREAD
|
||||
_PyGILState_Fini();
|
||||
|
@ -407,6 +400,14 @@ Py_Finalize(void)
|
|||
/* Clear interpreter state */
|
||||
PyInterpreterState_Clear(interp);
|
||||
|
||||
/* Now we decref the exception classes. After this point nothing
|
||||
can raise an exception. That's okay, because each Fini() method
|
||||
below has been checked to make sure no exceptions are ever
|
||||
raised.
|
||||
*/
|
||||
|
||||
_PyExc_Fini();
|
||||
|
||||
/* Delete current thread */
|
||||
PyThreadState_Swap(NULL);
|
||||
PyInterpreterState_Delete(interp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue