From 1d6af707cfac6406feb5c82656bb8f313bfcb696 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sun, 21 Mar 2010 21:57:42 +0000 Subject: [PATCH] Revert my change on initsite(): don't change import site error handler in 3.1, as I did for 2.6. But fix the other bugs :-) --- Misc/NEWS | 5 ----- Python/pythonrun.c | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index 3e6cf262c0..9d42ce6922 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -25,11 +25,6 @@ What's New in Python 3.1.2? Core and Builtins ----------------- -- 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. - - Issue #7173: Generator finalization could invalidate sys.exc_info(). Library diff --git a/Python/pythonrun.c b/Python/pythonrun.c index f4f87662d2..55b9d50e50 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -712,12 +712,22 @@ initmain(void) static void initsite(void) { - PyObject *m; + PyObject *m, *f; m = PyImport_ImportModule("site"); if (m == NULL) { - PyErr_Print(); - Py_Finalize(); - exit(1); + f = PySys_GetObject("stderr"); + if (f == NULL || f == Py_None) + return; + if (Py_VerboseFlag) { + PyFile_WriteString( + "'import site' failed; traceback:\n", f); + PyErr_Print(); + } + else { + PyFile_WriteString( + "'import site' failed; use -v for traceback\n", f); + PyErr_Clear(); + } } else { Py_DECREF(m); -- 2.50.1