diff --git a/main/ccss.c b/main/ccss.c index a45ed2844b579872dd79f2d589c083fc4ca71089..5dd1d70bfd0632cdc5b2d32b663fc563a1e9f873 100644 --- a/main/ccss.c +++ b/main/ccss.c @@ -4535,14 +4535,15 @@ static void cc_shutdown(void) if (cc_core_taskprocessor) { cc_core_taskprocessor = ast_taskprocessor_unreference(cc_core_taskprocessor); } - if (generic_monitors) { - ao2_t_ref(generic_monitors, -1, "Unref generic_monitor container in cc_shutdown"); - generic_monitors = NULL; - } + /* Note that core instances must be destroyed prior to the generic_monitors */ if (cc_core_instances) { ao2_t_ref(cc_core_instances, -1, "Unref cc_core_instances container in cc_shutdown"); cc_core_instances = NULL; } + if (generic_monitors) { + ao2_t_ref(generic_monitors, -1, "Unref generic_monitor container in cc_shutdown"); + generic_monitors = NULL; + } } int ast_cc_init(void)