summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2019-11-20 11:25:50 (GMT)
committerGitHub <noreply@github.com>2019-11-20 11:25:50 (GMT)
commit7247407c35330f3f6292f1d40606b7ba6afd5700 (patch)
treefa9307b2cdbf41bf30c90daf12c76dd439949cfd /Python
parent488d02a24142948bfb1fafd19fa48e61fcbbabc5 (diff)
downloadcpython-7247407c35330f3f6292f1d40606b7ba6afd5700.zip
cpython-7247407c35330f3f6292f1d40606b7ba6afd5700.tar.gz
cpython-7247407c35330f3f6292f1d40606b7ba6afd5700.tar.bz2
bpo-36854: Move _PyRuntimeState.gc to PyInterpreterState (GH-17287)
* Rename _PyGC_InitializeRuntime() to _PyGC_InitState() * finalize_interp_clear() now also calls _PyGC_Fini() in subinterpreters (clear the GC state).
Diffstat (limited to 'Python')
-rw-r--r--Python/pylifecycle.c3
-rw-r--r--Python/pystate.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 41b9596..2149dbf 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1219,8 +1219,9 @@ finalize_interp_clear(PyThreadState *tstate, int is_main_interp)
PyGrammar_RemoveAccelerators(&_PyParser_Grammar);
_PyExc_Fini();
- _PyGC_Fini(tstate);
}
+
+ _PyGC_Fini(tstate);
}
diff --git a/Python/pystate.c b/Python/pystate.c
index 93f0ce7..2fc563b 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -58,7 +58,6 @@ _PyRuntimeState_Init_impl(_PyRuntimeState *runtime)
runtime->open_code_userdata = open_code_userdata;
runtime->audit_hook_head = audit_hook_head;
- _PyGC_InitializeRuntime(&runtime->gc);
_PyEval_Initialize(&runtime->ceval);
PyPreConfig_InitPythonConfig(&runtime->preconfig);
@@ -208,6 +207,7 @@ PyInterpreterState_New(void)
_PyRuntimeState *runtime = &_PyRuntime;
interp->runtime = runtime;
+ _PyGC_InitState(&interp->gc);
PyConfig_InitPythonConfig(&interp->config);
interp->eval_frame = _PyEval_EvalFrameDefault;