From 8728018624f257c7cfe44014742ae46134047f49 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Mon, 11 Sep 2017 17:59:22 -0700 Subject: bpo-30860: Fix a refleak. (#3506) * Drop warnoptions from PyInterpreterState. * Drop xoptions from PyInterpreterState. * Don't set warnoptions and _xoptions again. * Decref after adding to sys.__dict__. * Drop an unused macro. * Check sys.xoptions *before* we delete it. --- Python/pythonrun.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Python/pythonrun.c') diff --git a/Python/pythonrun.c b/Python/pythonrun.c index d1d4a69a8d..df814fbed9 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -113,7 +113,10 @@ PyRun_InteractiveLoopFlags(FILE *fp, const char *filename_str, PyCompilerFlags * err = -1; for (;;) { ret = PyRun_InteractiveOneObject(fp, filename, flags); - _PY_DEBUG_PRINT_TOTAL_REFS(); +#ifdef Py_REF_DEBUG + if (_PyDebug_XOptionShowRefCount() == Py_True) + _PyDebug_PrintTotalRefs(); +#endif if (ret == E_EOF) { err = 0; break; -- cgit v1.2.1