summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-12-06 16:25:50 (GMT)
committerGitHub <noreply@github.com>2017-12-06 16:25:50 (GMT)
commit672b6baa71010f236ee8c8ce912e98cb542385c6 (patch)
tree542982cb63ada027c915497b3a703a6f46d0e5c4
parenta2a25eb03762680b98bb8cd090e43d0994a72c49 (diff)
downloadcpython-672b6baa71010f236ee8c8ce912e98cb542385c6.zip
cpython-672b6baa71010f236ee8c8ce912e98cb542385c6.tar.gz
cpython-672b6baa71010f236ee8c8ce912e98cb542385c6.tar.bz2
bpo-32030: pass interp to _PyImport_Init() (#4736)
Remove also the initstr variable, unused since the commit e69f0df45b709c25ac80617c41bbae16f56870fb pushed in 2012: "bpo-13959: Re-implement imp.find_module() in Lib/imp.py"
-rw-r--r--Include/pylifecycle.h2
-rw-r--r--Python/import.c10
-rw-r--r--Python/pylifecycle.c2
3 files changed, 3 insertions, 11 deletions
diff --git a/Include/pylifecycle.h b/Include/pylifecycle.h
index fa75169..4c87428 100644
--- a/Include/pylifecycle.h
+++ b/Include/pylifecycle.h
@@ -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);
diff --git a/Python/import.c b/Python/import.c
index 57521e4..9a98573 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -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");
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index b615c79..504036c 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -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;
}