diff options
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r-- | Python/pylifecycle.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index 54e8ce2..4a97295 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -6,6 +6,7 @@ #undef Yield /* undefine macro conflicting with <winbase.h> */ #include "pycore_ceval.h" #include "pycore_context.h" +#include "pycore_import.h" /* _PyImport_FindBuiltin */ #include "pycore_initconfig.h" #include "pycore_fileutils.h" #include "pycore_hamt.h" @@ -197,17 +198,17 @@ init_importlib(PyInterpreterState *interp, PyObject *sysmod) } static PyStatus -init_importlib_external(PyInterpreterState *interp) +init_importlib_external(PyThreadState *tstate) { PyObject *value; - value = PyObject_CallMethod(interp->importlib, + value = PyObject_CallMethod(tstate->interp->importlib, "_install_external_importers", ""); if (value == NULL) { PyErr_Print(); return _PyStatus_ERR("external importer setup failed"); } Py_DECREF(value); - return _PyImportZip_Init(interp); + return _PyImportZip_Init(tstate); } /* Helper functions to better handle the legacy C locale @@ -924,7 +925,7 @@ pyinit_main(_PyRuntimeState *runtime, PyInterpreterState *interp) return _PyStatus_ERR("can't finish initializing sys"); } - PyStatus status = init_importlib_external(interp); + PyStatus status = init_importlib_external(tstate); if (_PyStatus_EXCEPTION(status)) { return status; } @@ -1449,7 +1450,7 @@ new_interpreter(PyThreadState **tstate_p) } interp->modules = modules; - PyObject *sysmod = _PyImport_FindBuiltin("sys", modules); + PyObject *sysmod = _PyImport_FindBuiltin(tstate, "sys"); if (sysmod != NULL) { interp->sysdict = PyModule_GetDict(sysmod); if (interp->sysdict == NULL) { @@ -1465,7 +1466,7 @@ new_interpreter(PyThreadState **tstate_p) goto handle_error; } - PyObject *bimod = _PyImport_FindBuiltin("builtins", modules); + PyObject *bimod = _PyImport_FindBuiltin(tstate, "builtins"); if (bimod != NULL) { interp->builtins = PyModule_GetDict(bimod); if (interp->builtins == NULL) @@ -1497,7 +1498,7 @@ new_interpreter(PyThreadState **tstate_p) return status; } - status = init_importlib_external(interp); + status = init_importlib_external(tstate); if (_PyStatus_EXCEPTION(status)) { return status; } |