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 :-)
This commit is contained in:
Victor Stinner 2010-03-21 21:57:42 +00:00
parent ffbc2f63e1
commit 1d6af707cf
2 changed files with 14 additions and 9 deletions

View File

@ -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

View File

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