diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2010-03-12 14:45:56 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2010-03-12 14:45:56 (GMT) |
commit | 52f6dd7a3dd9d672a23d7f654a46f126cfc74968 (patch) | |
tree | 34985c0029101f0a3897d200bc8fdaec754d746a /Modules | |
parent | 2743139031017874fba4b8cfe8f6f44c52789bee (diff) | |
download | cpython-52f6dd7a3dd9d672a23d7f654a46f126cfc74968.zip cpython-52f6dd7a3dd9d672a23d7f654a46f126cfc74968.tar.gz cpython-52f6dd7a3dd9d672a23d7f654a46f126cfc74968.tar.bz2 |
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')
-rw-r--r-- | Modules/main.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Modules/main.c b/Modules/main.c index b413561..7736d99 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); } |