diff options
| author | Eric Snow <ericsnowcurrently@gmail.com> | 2017-09-14 07:35:58 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-14 07:35:58 (GMT) |
| commit | dae0276bb6bc7281d59fb0b8f1aab31634ee80dc (patch) | |
| tree | d36e7b49ee6ef1cdb2a2384be568c8d28a7b0bb0 /Python/pylifecycle.c | |
| parent | 93c92f7d1dbb6e7e472f1d0444c6968858113de2 (diff) | |
| download | cpython-dae0276bb6bc7281d59fb0b8f1aab31634ee80dc.zip cpython-dae0276bb6bc7281d59fb0b8f1aab31634ee80dc.tar.gz cpython-dae0276bb6bc7281d59fb0b8f1aab31634ee80dc.tar.bz2 | |
bpo-30860: Fix a refleak. (#3567)
Resolves bpo-31420.
(This was accidentally reverted when in #3565.)
Diffstat (limited to 'Python/pylifecycle.c')
| -rw-r--r-- | Python/pylifecycle.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index 0700569..2aac901 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -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 |
