]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Call _PyWarnings_InitState() in subinterpreters (GH-21078)
authorVictor Stinner <vstinner@python.org>
Tue, 23 Jun 2020 13:55:45 +0000 (15:55 +0200)
committerGitHub <noreply@github.com>
Tue, 23 Jun 2020 13:55:45 +0000 (15:55 +0200)
Py_InitializeFromConfig() now calls also _PyWarnings_InitState() in
subinterpreters.

Python/pylifecycle.c

index 4bb32abc4be1f3900de72f4d61e5f1e92667f5d4..f0770727f4de713a9147e27ed9f90ee3f97a9905 100644 (file)
@@ -685,24 +685,22 @@ pycore_init_import_warnings(PyThreadState *tstate, PyObject *sysmod)
         return status;
     }
 
-    const PyConfig *config = _PyInterpreterState_GetConfig(tstate->interp);
-    if (_Py_IsMainInterpreter(tstate)) {
-        /* Initialize _warnings. */
-        status = _PyWarnings_InitState(tstate);
-        if (_PyStatus_EXCEPTION(status)) {
-            return status;
-        }
+    /* Initialize _warnings. */
+    status = _PyWarnings_InitState(tstate);
+    if (_PyStatus_EXCEPTION(status)) {
+        return status;
+    }
 
-        if (config->_install_importlib) {
+    const PyConfig *config = _PyInterpreterState_GetConfig(tstate->interp);
+    if (config->_install_importlib) {
+        if (_Py_IsMainInterpreter(tstate)) {
             status = _PyConfig_WritePathConfig(config);
             if (_PyStatus_EXCEPTION(status)) {
                 return status;
             }
         }
-    }
 
-    /* This call sets up builtin and frozen import support */
-    if (config->_install_importlib) {
+        /* This call sets up builtin and frozen import support */
         status = init_importlib(tstate, sysmod);
         if (_PyStatus_EXCEPTION(status)) {
             return status;