summaryrefslogtreecommitdiff
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/pylifecycle.c15
-rw-r--r--Python/pystate.c2
2 files changed, 12 insertions, 5 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 1bfc7c16dc..9739bb1541 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -558,9 +558,16 @@ pycore_create_interpreter(_PyRuntimeState *runtime,
static PyStatus
-pycore_init_types(void)
+pycore_init_types(_PyRuntimeState *runtime)
{
- PyStatus status = _PyTypes_Init();
+ PyStatus status;
+
+ status = _PyGC_Init(runtime);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
+ }
+
+ status = _PyTypes_Init();
if (_PyStatus_EXCEPTION(status)) {
return status;
}
@@ -683,7 +690,7 @@ pyinit_config(_PyRuntimeState *runtime,
config = &tstate->interp->config;
*tstate_p = tstate;
- status = pycore_init_types();
+ status = pycore_init_types(runtime);
if (_PyStatus_EXCEPTION(status)) {
return status;
}
@@ -1447,7 +1454,7 @@ new_interpreter(PyThreadState **tstate_p)
}
config = &interp->config;
- status = pycore_init_types();
+ status = pycore_init_types(runtime);
/* XXX The following is lax in error checking */
PyObject *modules = PyDict_New();
diff --git a/Python/pystate.c b/Python/pystate.c
index b4b1247228..06cc9a8fb4 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -58,7 +58,7 @@ _PyRuntimeState_Init_impl(_PyRuntimeState *runtime)
runtime->open_code_userdata = open_code_userdata;
runtime->audit_hook_head = audit_hook_head;
- _PyGC_Initialize(&runtime->gc);
+ _PyGC_InitializeRuntime(&runtime->gc);
_PyEval_Initialize(&runtime->ceval);
PyPreConfig_InitPythonConfig(&runtime->preconfig);