From ccb0442a338066bf40fe417455e5a374e5238afb Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 16 Nov 2017 03:20:31 -0800 Subject: bpo-32043: New "developer mode": "-X dev" option (#4413) Add a new "developer mode": new "-X dev" command line option to enable debug checks at runtime. Changes: * Add unit tests for -X dev * test_cmd_line: replace test.support with support. * Fix _PyRuntimeState_Fini(): Use the same memory allocator than _PyRuntimeState_Init(). * Fix _PyMem_GetDefaultRawAllocator() --- Python/pystate.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Python/pystate.c') diff --git a/Python/pystate.c b/Python/pystate.c index 4544de9986..807ac4eb9d 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -64,10 +64,18 @@ _PyRuntimeState_Init(_PyRuntimeState *runtime) void _PyRuntimeState_Fini(_PyRuntimeState *runtime) { + /* Use the same memory allocator than _PyRuntimeState_Init() */ + PyMemAllocatorEx old_alloc, raw_alloc; + PyMem_GetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); + _PyMem_GetDefaultRawAllocator(&raw_alloc); + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &raw_alloc); + if (runtime->interpreters.mutex != NULL) { PyThread_free_lock(runtime->interpreters.mutex); runtime->interpreters.mutex = NULL; } + + PyMem_SetAllocator(PYMEM_DOMAIN_RAW, &old_alloc); } #define HEAD_LOCK() PyThread_acquire_lock(_PyRuntime.interpreters.mutex, \ -- cgit v1.2.1