Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 672b6ba

Browse files
authored
bpo-32030: pass interp to _PyImport_Init() (#4736)
Remove also the initstr variable, unused since the commit e69f0df pushed in 2012: "bpo-13959: Re-implement imp.find_module() in Lib/imp.py"
1 parent a2a25eb commit 672b6ba

3 files changed

Lines changed: 3 additions & 11 deletions

File tree

Include/pylifecycle.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ PyAPI_FUNC(const char *) _Py_gitversion(void);
127127
PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void);
128128
PyAPI_FUNC(_PyInitError) _PySys_BeginInit(PyObject **sysmod);
129129
PyAPI_FUNC(int) _PySys_EndInit(PyObject *sysdict);
130-
PyAPI_FUNC(_PyInitError) _PyImport_Init(void);
130+
PyAPI_FUNC(_PyInitError) _PyImport_Init(PyInterpreterState *interp);
131131
PyAPI_FUNC(void) _PyExc_Init(PyObject * bltinmod);
132132
PyAPI_FUNC(_PyInitError) _PyImportHooks_Init(void);
133133
PyAPI_FUNC(int) _PyFrame_Init(void);

Python/import.c

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ extern struct _inittab _PyImport_Inittab[];
3131

3232
struct _inittab *PyImport_Inittab = _PyImport_Inittab;
3333

34-
static PyObject *initstr = NULL;
35-
3634
/*[clinic input]
3735
module _imp
3836
[clinic start generated code]*/
@@ -43,14 +41,8 @@ module _imp
4341
/* Initialize things */
4442

4543
_PyInitError
46-
_PyImport_Init(void)
44+
_PyImport_Init(PyInterpreterState *interp)
4745
{
48-
PyInterpreterState *interp = PyThreadState_Get()->interp;
49-
initstr = PyUnicode_InternFromString("__init__");
50-
if (initstr == NULL) {
51-
return _Py_INIT_ERR("Can't initialize import variables");
52-
}
53-
5446
interp->builtins_copy = PyDict_Copy(interp->builtins);
5547
if (interp->builtins_copy == NULL) {
5648
return _Py_INIT_ERR("Can't backup builtins dict");

Python/pylifecycle.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,7 @@ _Py_InitializeCore(const _PyCoreConfig *config)
751751
PySys_SetObject("__stderr__", pstderr);
752752
Py_DECREF(pstderr);
753753

754-
err = _PyImport_Init();
754+
err = _PyImport_Init(interp);
755755
if (_Py_INIT_FAILED(err)) {
756756
return err;
757757
}

0 commit comments

Comments
 (0)