summaryrefslogtreecommitdiff
path: root/Python/pythonrun.c
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-11-10 13:55:25 +0000
committerAntoine Pitrou <solipsis@pitrou.net>2010-11-10 13:55:25 +0000
commit4461ae12ac9eb6467106e6a9184180066599b8c4 (patch)
treec8c4d5c35430818334da7a311cabb823568adc2a /Python/pythonrun.c
parentc606999dc39c1dfbb051fe153ceaf43314758ac1 (diff)
downloadcpython-4461ae12ac9eb6467106e6a9184180066599b8c4.tar.gz
Issue #10372: Import the warnings module only after the IO library is
initialized, so as to avoid bootstrap issues with the '-W' option.
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r--Python/pythonrun.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 8b1e61a1c9..784558c119 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -299,19 +299,21 @@ Py_InitializeEx(int install_sigs)
if (install_sigs)
initsigs(); /* Signal handling stuff, including initintr() */
+ initmain(); /* Module __main__ */
+ if (initstdio() < 0)
+ Py_FatalError(
+ "Py_Initialize: can't initialize sys standard streams");
+
/* Initialize warnings. */
if (PySys_HasWarnOptions()) {
PyObject *warnings_module = PyImport_ImportModule("warnings");
- if (!warnings_module)
- PyErr_Clear();
+ if (warnings_module == NULL) {
+ fprintf(stderr, "'import warnings' failed; traceback:\n");
+ PyErr_Print();
+ }
Py_XDECREF(warnings_module);
}
- initmain(); /* Module __main__ */
- if (initstdio() < 0)
- Py_FatalError(
- "Py_Initialize: can't initialize sys standard streams");
-
if (!Py_NoSiteFlag)
initsite(); /* Module site */
}