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.
  ........
................
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 @@
 				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);
 		}