summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/pylifecycle.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 9218978..d6f65ec 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1253,17 +1253,16 @@ finalize_interp_clear(PyThreadState *tstate)
{
int is_main_interp = _Py_IsMainInterpreter(tstate);
- /* bpo-36854: Explicitly clear the codec registry
- and trigger a GC collection */
PyInterpreterState *interp = tstate->interp;
- Py_CLEAR(interp->codec_search_path);
- Py_CLEAR(interp->codec_search_cache);
- Py_CLEAR(interp->codec_error_registry);
- _PyGC_CollectNoFail();
/* Clear interpreter state and all thread states */
PyInterpreterState_Clear(tstate->interp);
+ /* Trigger a GC collection on subinterpreters*/
+ if (!is_main_interp) {
+ _PyGC_CollectNoFail();
+ }
+
finalize_interp_types(tstate, is_main_interp);
if (is_main_interp) {