summaryrefslogtreecommitdiff
path: root/Modules/main.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-03-21 21:48:45 +0000
committerVictor Stinner <victor.stinner@haypocalc.com>2010-03-21 21:48:45 +0000
commitffbc2f63e1ae5356e03f8b0cbf606616c311862e (patch)
tree21b807e7e152d929cfb8edba5440ccbaa686eb78 /Modules/main.c
parentb531bfba4e46a6295dce7529af7e454520683487 (diff)
downloadcpython-git-ffbc2f63e1ae5356e03f8b0cbf606616c311862e.tar.gz
Merged revisions 78872 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r78872 | victor.stinner | 2010-03-12 15:45:56 +0100 (ven., 12 mars 2010) | 12 lines Merged revisions 78826 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78826 | victor.stinner | 2010-03-10 23:30:19 +0100 (mer., 10 mars 2010) | 5 lines Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt (SIGINT). If an error occurs while importing the site module, the error is printed and Python exits. Initialize the GIL before importing the site module. ........ ................
Diffstat (limited to 'Modules/main.c')
-rw-r--r--Modules/main.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/Modules/main.c b/Modules/main.c
index b413561b2d..7736d99dfd 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -595,10 +595,16 @@ Py_Main(int argc, wchar_t **argv)
else
p_cfilename = "<decoding error>";
}
- sts = PyRun_AnyFileExFlags(
- fp,
- p_cfilename,
- filename != NULL, &cf) != 0;
+ /* call pending calls like signal handlers (SIGINT) */
+ if (Py_MakePendingCalls() == -1) {
+ PyErr_Print();
+ sts = 1;
+ } else {
+ sts = PyRun_AnyFileExFlags(
+ fp,
+ p_cfilename,
+ filename != NULL, &cf) != 0;
+ }
Py_XDECREF(filenameObj);
}