summaryrefslogtreecommitdiffstats
path: root/Python/pylifecycle.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2016-03-14 11:04:26 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2016-03-14 11:04:26 (GMT)
commit34be807ca4dfecc5b0a9e577a48535e738dce32b (patch)
tree38e0e3860b3fabf2be4938330a1d0f37c5b169ab /Python/pylifecycle.c
parentc877658d1ff5f93f3a2c7b5f0a7ac913b7374838 (diff)
downloadcpython-34be807ca4dfecc5b0a9e577a48535e738dce32b.zip
cpython-34be807ca4dfecc5b0a9e577a48535e738dce32b.tar.gz
cpython-34be807ca4dfecc5b0a9e577a48535e738dce32b.tar.bz2
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.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index e9db7f6..715a547 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();