summaryrefslogtreecommitdiffstats
path: root/Modules/main.c
diff options
context:
space:
mode:
authorMartin Panter <vadmium+py@gmail.com>2015-11-30 03:18:29 (GMT)
committerMartin Panter <vadmium+py@gmail.com>2015-11-30 03:18:29 (GMT)
commitb4ce1fc31be5614d527d77c55018281ebbcd70ab (patch)
tree8f51eb2efd5191ae1284be5d82b5d84f4bf6a424 /Modules/main.c
parent92d5fbaf8f6c3c3c8ab0c83be848fcc206f02b22 (diff)
downloadcpython-b4ce1fc31be5614d527d77c55018281ebbcd70ab.zip
cpython-b4ce1fc31be5614d527d77c55018281ebbcd70ab.tar.gz
cpython-b4ce1fc31be5614d527d77c55018281ebbcd70ab.tar.bz2
Issue #5319: New Py_FinalizeEx() API to exit with status 120 on failure
Diffstat (limited to 'Modules/main.c')
-rw-r--r--Modules/main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Modules/main.c b/Modules/main.c
index 2a9ea28..0fbdb69 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -654,7 +654,7 @@ Py_Main(int argc, wchar_t **argv)
Py_SetProgramName(wbuf);
/* Don't free wbuf, the argument to Py_SetProgramName
- * must remain valid until the Py_Finalize is called.
+ * must remain valid until Py_FinalizeEx is called.
*/
} else {
Py_SetProgramName(argv[0]);
@@ -785,7 +785,11 @@ Py_Main(int argc, wchar_t **argv)
sts = PyRun_AnyFileFlags(stdin, "<stdin>", &cf) != 0;
}
- Py_Finalize();
+ if (Py_FinalizeEx() < 0) {
+ /* Value unlikely to be confused with a non-error exit status or
+ other special meaning */
+ sts = 120;
+ }
#ifdef __INSURE__
/* Insure++ is a memory analysis tool that aids in discovering