Skip to content

Commit a17d5ff

Browse files
_PyImport_EnsureInitialized() -> _PyImport_IsInitialized()
1 parent ef17b81 commit a17d5ff

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

Include/import.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleObject(
3939
#endif
4040
PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void);
4141
#ifndef Py_LIMITED_API
42-
PyAPI_FUNC(void) _PyImport_EnsureInitialized(PyInterpreterState *);
42+
PyAPI_FUNC(int) _PyImport_IsInitialized(PyInterpreterState *);
4343
#endif
4444
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
4545
PyAPI_FUNC(PyObject *) PyImport_AddModuleObject(

Objects/moduleobject.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ _add_methods_to_object(PyObject *module, PyObject *name, PyMethodDef *functions)
162162
PyObject *
163163
PyModule_Create2(struct PyModuleDef* module, int module_api_version)
164164
{
165-
_PyImport_EnsureInitialized(PyThreadState_GET()->interp);
165+
if (!_PyImport_IsInitialized(PyThreadState_GET()->interp))
166+
Py_FatalError("Python import machinery not initialized");
166167
return _PyModule_CreateInitialized(module, module_api_version);
167168
}
168169

Python/import.c

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -312,23 +312,20 @@ PyImport_GetModuleDict(void)
312312
machinery has been initialized (or not cleaned up yet). For
313313
example, see issue #4236 and PyModule_Create2(). */
314314

315-
void
316-
_PyImport_EnsureInitialized(PyInterpreterState *interp)
315+
int
316+
_PyImport_IsInitialized(PyInterpreterState *interp)
317317
{
318318
if (interp->modules == NULL)
319-
goto notinitialized;
319+
return 0;
320320
/* We aren't ready to do this yet.
321321
if (interp->sysdict == NULL)
322-
goto notinitialized;
322+
return 0;
323323
_Py_IDENTIFIER(modules);
324324
PyObject *modules = _PyDict_GetItemId(interp->sysdict, &PyId_modules);
325325
if (modules == NULL)
326-
goto notinitialized;
326+
return 0;
327327
*/
328-
return;
329-
330-
notinitialized:
331-
Py_FatalError("Python import machinery not initialized");
328+
return 1;
332329
}
333330

334331

0 commit comments

Comments
 (0)