bpo-21222: Fix improperly merged change so that final hooks are called before types are cleared (GH-21304)
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index e218808..00a9b99 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1301,8 +1301,6 @@
_PyGC_CollectNoFail();
}
- finalize_interp_types(tstate, is_main_interp);
-
/* Clear all loghooks */
/* Both _PySys_Audit function and users still need PyObject, such as tuple.
Call _PySys_ClearAuditHooks when PyObject available. */
@@ -1310,6 +1308,8 @@
_PySys_ClearAuditHooks(tstate);
}
+ finalize_interp_types(tstate, is_main_interp);
+
if (is_main_interp) {
/* XXX Still allocated:
- various static ad-hoc pointers to interned strings