summaryrefslogtreecommitdiffstats
path: root/Python/pylifecycle.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2016-03-16 22:19:15 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2016-03-16 22:19:15 (GMT)
commita2e5e044af21e55e51a0cd50f8197fdca2d0cf8b (patch)
tree803953ec2a60428805e336cb7c53ffef53c1604e /Python/pylifecycle.c
parent6150f31963cbc24c529b07f6763854fbb7e62f60 (diff)
downloadcpython-a2e5e044af21e55e51a0cd50f8197fdca2d0cf8b.zip
cpython-a2e5e044af21e55e51a0cd50f8197fdca2d0cf8b.tar.gz
cpython-a2e5e044af21e55e51a0cd50f8197fdca2d0cf8b.tar.bz2
Py_FatalError: disable faulthandler earlier
Issue #26563: Py_FatalError: disable faulthandler before trying to flush sys.stdout and sys.stderr.
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r--Python/pylifecycle.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index c4a6d7c..35ca88f 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1354,17 +1354,17 @@ Py_FatalError(const char *msg)
if (!_Py_FatalError_PrintExc(fd))
_Py_FatalError_DumpTracebacks(fd);
+ /* The main purpose of faulthandler is to display the traceback. We already
+ * did our best to display it. So faulthandler can now be disabled.
+ * (Don't trigger it on abort().) */
+ _PyFaulthandler_Fini();
+
/* Check if the current Python thread hold the GIL */
if (PyThreadState_GET() != NULL) {
/* Flush sys.stdout and sys.stderr */
flush_std_files();
}
- /* The main purpose of faulthandler is to display the traceback. We already
- * did our best to display it. So faulthandler can now be disabled.
- * (Don't trigger it on abort().) */
- _PyFaulthandler_Fini();
-
#ifdef MS_WINDOWS
len = strlen(msg);