Skip to content

Commit dc24ec5

Browse files
committed
Refactor interpreter cleanup
Move the cleanup logic into PyInterpreterState_Delete and remove the now-unused helper function.
1 parent aa48624 commit dc24ec5

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

Python/pystate.c

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -488,20 +488,12 @@ free_interpreter(PyInterpreterState *interp)
488488
}
489489
}
490490

491-
static void
492-
cleanup_and_free_interpreter(PyInterpreterState *interp)
493-
{
494-
_Py_qsbr_fini(interp);
495-
_PyObject_FiniState(interp);
496-
free_interpreter(interp);
497-
}
498-
499491
static inline void
500492
release_interp_owner(PyInterpreterState *interp)
501493
{
502494
Py_ssize_t prev = _Py_atomic_add_ssize(&interp->owners, -1);
503495
if (prev == 1) {
504-
cleanup_and_free_interpreter(interp);
496+
free_interpreter(interp);
505497
}
506498
}
507499

@@ -977,7 +969,8 @@ PyInterpreterState_Delete(PyInterpreterState *interp)
977969
HEAD_UNLOCK(runtime);
978970

979971
interp->finalizing = 1;
980-
972+
_Py_qsbr_fini(interp);
973+
_PyObject_FiniState(interp);
981974
release_interp_owner(interp);
982975
}
983976

0 commit comments

Comments
 (0)