From: Anthony Baxter Date: Tue, 29 Mar 2005 12:32:50 +0000 (+0000) Subject: Move exception finalisation later in the shutdown process - this X-Git-Tag: v2.4.1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4d381b17e4b4a86b52cd5562b005eb29066d2cbd;p=thirdparty%2FPython%2Fcpython.git Move exception finalisation later in the shutdown process - this fixes the crash seen in bug #1165761 --- diff --git a/Misc/NEWS b/Misc/NEWS index 41e91aefa7a7..7ecddce5486d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -4,6 +4,17 @@ Python News (editors: check NEWS.help for information about editing NEWS using ReST.) +What's New in Python 2.4.1 final? +================================= + +*Release date: 30-MAR-2005* + +Core and builtins +----------------- + +- Move exception finalisation later in the shutdown process - this + fixes the crash seen in bug #1165761 + What's New in Python 2.4.1c2? ============================= diff --git a/Python/pythonrun.c b/Python/pythonrun.c index e9f4765a1e11..50bb20d15c43 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -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);