Skip to content

Commit f64202d

Browse files
Move _PyInterpreterState_FinalizeRefTotal() down to PyInterpreterState_Delete().
1 parent d7e51e5 commit f64202d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Python/pystate.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -861,8 +861,6 @@ interpreter_clear(PyInterpreterState *interp, PyThreadState *tstate)
861861
// XXX Once we have one allocator per interpreter (i.e.
862862
// per-interpreter GC) we must ensure that all of the interpreter's
863863
// objects have been cleaned up at the point.
864-
865-
_PyInterpreterState_FinalizeRefTotal(interp);
866864
}
867865

868866

@@ -906,6 +904,10 @@ PyInterpreterState_Delete(PyInterpreterState *interp)
906904

907905
_PyEval_FiniState(&interp->ceval);
908906

907+
// XXX This call should be done at the end of clear_interpreter(),
908+
// but currently some objects get decref'ed after that.
909+
_PyInterpreterState_FinalizeRefTotal(interp);
910+
909911
HEAD_LOCK(runtime);
910912
PyInterpreterState **p;
911913
for (p = &interpreters->head; ; p = &(*p)->next) {

0 commit comments

Comments
 (0)