[Python-checkins] bpo-1635741: Explict GC collect after PyInterpreterState_Clear() (GH-21902)
Hai Shi
webhook-mailer at python.org
Mon Aug 17 16:36:27 EDT 2020
https://github.com/python/cpython/commit/8aa163eea6b0fb4693f6c0a314d4f2ccada51d70
commit: 8aa163eea6b0fb4693f6c0a314d4f2ccada51d70
branch: master
author: Hai Shi <shihai1992 at gmail.com>
committer: GitHub <noreply at github.com>
date: 2020-08-17T22:36:19+02:00
summary:
bpo-1635741: Explict GC collect after PyInterpreterState_Clear() (GH-21902)
Fix a reference cycle by triggering an explicit GC collection
after calling PyInterpreterState_Clear().
files:
M Python/pylifecycle.c
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 2d219a4a3a8b0..ab5a6767864dc 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1286,10 +1286,8 @@ finalize_interp_clear(PyThreadState *tstate)
/* Clear interpreter state and all thread states */
PyInterpreterState_Clear(tstate->interp);
- /* Trigger a GC collection on subinterpreters*/
- if (!is_main_interp) {
- _PyGC_CollectNoFail();
- }
+ /* Last explicit GC collection */
+ _PyGC_CollectNoFail();
/* Clear all loghooks */
/* Both _PySys_Audit function and users still need PyObject, such as tuple.
More information about the Python-checkins
mailing list