]> granicus.if.org Git - python/commitdiff
bpo-32030: pass interp to _PyImport_Init() (#4736)
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 6 Dec 2017 16:25:50 +0000 (17:25 +0100)
committerGitHub <noreply@github.com>
Wed, 6 Dec 2017 16:25:50 +0000 (17:25 +0100)
Remove also the initstr variable, unused since the commit
e69f0df45b709c25ac80617c41bbae16f56870fb pushed in 2012: "bpo-13959:
Re-implement imp.find_module() in Lib/imp.py"

Include/pylifecycle.h
Python/import.c
Python/pylifecycle.c

index fa751692a6670a3f10ddf0ad7bc4ed4e2457f0f2..4c87428a23a5de29461e65541b22d859eec565a7 100644 (file)
@@ -127,7 +127,7 @@ PyAPI_FUNC(const char *) _Py_gitversion(void);
 PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void);
 PyAPI_FUNC(_PyInitError) _PySys_BeginInit(PyObject **sysmod);
 PyAPI_FUNC(int) _PySys_EndInit(PyObject *sysdict);
-PyAPI_FUNC(_PyInitError) _PyImport_Init(void);
+PyAPI_FUNC(_PyInitError) _PyImport_Init(PyInterpreterState *interp);
 PyAPI_FUNC(void) _PyExc_Init(PyObject * bltinmod);
 PyAPI_FUNC(_PyInitError) _PyImportHooks_Init(void);
 PyAPI_FUNC(int) _PyFrame_Init(void);
index 57521e4920715c6f9ba29b64e4eef63df37b8b10..9a9857385cb981bb187b8b1ec6218482418596e8 100644 (file)
@@ -31,8 +31,6 @@ extern struct _inittab _PyImport_Inittab[];
 
 struct _inittab *PyImport_Inittab = _PyImport_Inittab;
 
-static PyObject *initstr = NULL;
-
 /*[clinic input]
 module _imp
 [clinic start generated code]*/
@@ -43,14 +41,8 @@ module _imp
 /* Initialize things */
 
 _PyInitError
-_PyImport_Init(void)
+_PyImport_Init(PyInterpreterState *interp)
 {
-    PyInterpreterState *interp = PyThreadState_Get()->interp;
-    initstr = PyUnicode_InternFromString("__init__");
-    if (initstr == NULL) {
-        return _Py_INIT_ERR("Can't initialize import variables");
-    }
-
     interp->builtins_copy = PyDict_Copy(interp->builtins);
     if (interp->builtins_copy == NULL) {
         return _Py_INIT_ERR("Can't backup builtins dict");
index b615c799989364dbebacfb33755759b64137f91e..504036c3ef84eeb9c5c1d323cc674f7eac27e7f0 100644 (file)
@@ -751,7 +751,7 @@ _Py_InitializeCore(const _PyCoreConfig *config)
     PySys_SetObject("__stderr__", pstderr);
     Py_DECREF(pstderr);
 
-    err = _PyImport_Init();
+    err = _PyImport_Init(interp);
     if (_Py_INIT_FAILED(err)) {
         return err;
     }