diff --git a/src/switch_core.c b/src/switch_core.c index 8868a9c028..eb2bc83c49 100644 --- a/src/switch_core.c +++ b/src/switch_core.c @@ -4237,13 +4237,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_destroy(int vg) switch_yield(1000000); - if (runtime.memory_pool) { - apr_pool_destroy(runtime.memory_pool); - if (!vg) { - apr_terminate(); - } - } - #ifdef WIN32 free(SWITCH_GLOBAL_dirs.base_dir); free(SWITCH_GLOBAL_dirs.mod_dir); @@ -4256,6 +4249,13 @@ SWITCH_DECLARE(switch_status_t) switch_core_destroy(int vg) free(SWITCH_GLOBAL_dirs.temp_dir); #endif + if (runtime.memory_pool) { + apr_pool_destroy(runtime.memory_pool); + if (!vg) { + apr_terminate(); + } + } + return SWITCH_STATUS_SUCCESS; }