diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-03-14 12:04:26 +0100 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-03-14 12:04:26 +0100 |
commit | d2f995ca30b1a4ec4bd04857fa7d3440dd373ec6 (patch) | |
tree | f299d73b0942b2a6fc6335d15a0997055f7d489e /Python/pylifecycle.c | |
parent | fb4d4b905835c1da1318028f54f441970131c80f (diff) | |
download | cpython-d2f995ca30b1a4ec4bd04857fa7d3440dd373ec6.tar.gz |
Add PYTHONMALLOC env var
Issue #26516:
* Add PYTHONMALLOC environment variable to set the Python memory
allocators and/or install debug hooks.
* PyMem_SetupDebugHooks() can now also be used on Python compiled in release
mode.
* The PYTHONMALLOCSTATS environment variable can now also be used on Python
compiled in release mode. It now has no effect if set to an empty string.
* In debug mode, debug hooks are now also installed on Python memory allocators
when Python is configured without pymalloc.
Diffstat (limited to 'Python/pylifecycle.c')
-rw-r--r-- | Python/pylifecycle.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index e9db7f6351..715a547d33 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -702,9 +702,12 @@ Py_FinalizeEx(void) if (Py_GETENV("PYTHONDUMPREFS")) _Py_PrintReferenceAddresses(stderr); #endif /* Py_TRACE_REFS */ -#ifdef PYMALLOC_DEBUG - if (Py_GETENV("PYTHONMALLOCSTATS")) - _PyObject_DebugMallocStats(stderr); +#ifdef WITH_PYMALLOC + if (_PyMem_PymallocEnabled()) { + char *opt = Py_GETENV("PYTHONMALLOCSTATS"); + if (opt != NULL && *opt != '\0') + _PyObject_DebugMallocStats(stderr); + } #endif call_ll_exitfuncs(); |