From dae0276bb6bc7281d59fb0b8f1aab31634ee80dc Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Thu, 14 Sep 2017 00:35:58 -0700 Subject: bpo-30860: Fix a refleak. (#3567) Resolves bpo-31420. (This was accidentally reverted when in #3565.) --- Objects/object.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'Objects/object.c') diff --git a/Objects/object.c b/Objects/object.c index 74893e38c7..ed8a62a163 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -29,20 +29,23 @@ _Py_GetRefTotal(void) return total; } -void -_PyDebug_PrintTotalRefs(void) { - PyObject *xoptions, *value; +PyObject * +_PyDebug_XOptionShowRefCount(void) +{ + PyObject *xoptions = PySys_GetXOptions(); + if (xoptions == NULL) + return NULL; + _Py_IDENTIFIER(showrefcount); + return _PyDict_GetItemId(xoptions, &PyId_showrefcount); +} - xoptions = PySys_GetXOptions(); - if (xoptions == NULL) - return; - value = _PyDict_GetItemId(xoptions, &PyId_showrefcount); - if (value == Py_True) - fprintf(stderr, - "[%" PY_FORMAT_SIZE_T "d refs, " - "%" PY_FORMAT_SIZE_T "d blocks]\n", - _Py_GetRefTotal(), _Py_GetAllocatedBlocks()); +void +_PyDebug_PrintTotalRefs(void) { + fprintf(stderr, + "[%" PY_FORMAT_SIZE_T "d refs, " + "%" PY_FORMAT_SIZE_T "d blocks]\n", + _Py_GetRefTotal(), _Py_GetAllocatedBlocks()); } #endif /* Py_REF_DEBUG */ -- cgit v1.2.1