diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2017-09-12 00:59:22 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2017-09-12 00:59:22 (GMT) |
commit | 8728018624f257c7cfe44014742ae46134047f49 (patch) | |
tree | d3465549106d04472cb05f70b317f20dd7fc77f6 /Python/pythonrun.c | |
parent | ba6d5d1defd7a281c8c8804e4b4cfd7370886236 (diff) | |
download | cpython-8728018624f257c7cfe44014742ae46134047f49.zip cpython-8728018624f257c7cfe44014742ae46134047f49.tar.gz cpython-8728018624f257c7cfe44014742ae46134047f49.tar.bz2 |
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.
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r-- | Python/pythonrun.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c index d1d4a69..df814fb 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; |