summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/pylifecycle.c1
-rw-r--r--Python/pystate.c3
-rw-r--r--Python/sysmodule.c2
3 files changed, 5 insertions, 1 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 317d696..731f340 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1930,6 +1930,7 @@ Py_FinalizeEx(void)
if (show_ref_count) {
_PyDebug_PrintTotalRefs();
}
+ _Py_FinalizeRefTotal(runtime);
#endif
#ifdef Py_TRACE_REFS
diff --git a/Python/pystate.c b/Python/pystate.c
index 3a2966c..4d42135 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -482,6 +482,9 @@ _PyRuntimeState_Init(_PyRuntimeState *runtime)
void
_PyRuntimeState_Fini(_PyRuntimeState *runtime)
{
+ /* The reftotal is cleared by _Py_FinalizeRefTotal(). */
+ assert(runtime->object_state.reftotal == 0);
+
if (gilstate_tss_initialized(runtime)) {
gilstate_tss_fini(runtime);
}
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 126b7d4..2076173 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1854,7 +1854,7 @@ static Py_ssize_t
sys_gettotalrefcount_impl(PyObject *module)
/*[clinic end generated code: output=4103886cf17c25bc input=53b744faa5d2e4f6]*/
{
- return _Py_GetRefTotal();
+ return _Py_GetGlobalRefTotal();
}
#endif /* Py_REF_DEBUG */