Browse Source

bpo-38962: Fix reference leak in the per-subinterpreter gc (GH-17457)

https://bugs.python.org/issue38962



Automerge-Triggered-By: @pablogsal
pull/17491/head
Pablo Galindo 6 years ago
committed by Miss Islington (bot)
parent
commit
ac0e1c2694
  1. 11
      Python/pylifecycle.c

11
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) {

Loading…
Cancel
Save