Move exception finalisation later in the shutdown process - this

fixes the crash seen in bug #1165761
This commit is contained in:
Anthony Baxter 2005-03-29 13:36:16 +00:00
parent b7e99b642f
commit 12b6f6cac7
2 changed files with 13 additions and 7 deletions

View File

@ -7,9 +7,14 @@ Python News
What's New in Python 2.5 alpha 1?
=================================
*Release date: XX-XXX-2006*
Core and builtins
-----------------
- Move exception finalisation later in the shutdown process - this
fixes the crash seen in bug #1165761
- Added two new builtins, any() and all().
- Defining a class with empty parentheses is now allowed

View File

@ -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);