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);
struct _inittab *PyImport_Inittab = _PyImport_Inittab;
-static PyObject *initstr = NULL;
-
/*[clinic input]
module _imp
[clinic start generated code]*/
/* 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");
PySys_SetObject("__stderr__", pstderr);
Py_DECREF(pstderr);
- err = _PyImport_Init();
+ err = _PyImport_Init(interp);
if (_Py_INIT_FAILED(err)) {
return err;
}