]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-38858: new_interpreter() uses pycore_init_import_warnings() (GH-17353)
authorVictor Stinner <vstinner@python.org>
Fri, 22 Nov 2019 20:54:33 +0000 (21:54 +0100)
committerGitHub <noreply@github.com>
Fri, 22 Nov 2019 20:54:33 +0000 (21:54 +0100)
Python/pylifecycle.c

index e63fb64469de58f1bbdac2793b79b3d71578ce37..cce4783bc12c31bab7b3012601923ec14f3e622e 100644 (file)
@@ -665,15 +665,17 @@ pycore_init_import_warnings(PyThreadState *tstate, PyObject *sysmod)
         return status;
     }
 
-    /* Initialize _warnings. */
-    if (_PyWarnings_Init() == NULL) {
-        return _PyStatus_ERR("can't initialize warnings");
-    }
+    if (_Py_IsMainInterpreter(tstate)) {
+        /* Initialize _warnings. */
+        if (_PyWarnings_Init() == NULL) {
+            return _PyStatus_ERR("can't initialize warnings");
+        }
 
-    if (config->_install_importlib) {
-        status = _PyConfig_WritePathConfig(config);
-        if (_PyStatus_EXCEPTION(status)) {
-            return status;
+        if (config->_install_importlib) {
+            status = _PyConfig_WritePathConfig(config);
+            if (_PyStatus_EXCEPTION(status)) {
+                return status;
+            }
         }
     }
 
@@ -1575,12 +1577,7 @@ new_interpreter(PyThreadState **tstate_p)
             goto done;
         }
 
-        status = _PyImportHooks_Init(tstate);
-        if (_PyStatus_EXCEPTION(status)) {
-            goto done;
-        }
-
-        status = init_importlib(tstate, sysmod);
+        status = pycore_init_import_warnings(tstate, sysmod);
         if (_PyStatus_EXCEPTION(status)) {
             goto done;
         }