bpo-30860: Fix a refleak. (#3567)

Resolves bpo-31420.

(This was accidentally reverted when in #3565.)
This commit is contained in:
Eric Snow 2017-09-14 00:35:58 -07:00 committed by GitHub
parent 93c92f7d1d
commit dae0276bb6
7 changed files with 47 additions and 43 deletions

View file

@ -1011,6 +1011,11 @@ Py_FinalizeEx(void)
while (_PyGC_CollectIfEnabled() > 0)
/* nothing */;
#endif
#ifdef Py_REF_DEBUG
PyObject *showrefcount = _PyDebug_XOptionShowRefCount();
#endif
/* Destroy all modules */
PyImport_Cleanup();
@ -1058,7 +1063,10 @@ Py_FinalizeEx(void)
/* dump hash stats */
_PyHash_Fini();
_PY_DEBUG_PRINT_TOTAL_REFS();
#ifdef Py_REF_DEBUG
if (showrefcount == Py_True)
_PyDebug_PrintTotalRefs();
#endif
#ifdef Py_TRACE_REFS
/* Display all objects still alive -- this can invoke arbitrary