summaryrefslogtreecommitdiff
path: root/main/cdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/cdr.c')
-rw-r--r--main/cdr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/main/cdr.c b/main/cdr.c
index 2ec684837..64a2bb490 100644
--- a/main/cdr.c
+++ b/main/cdr.c
@@ -3514,7 +3514,6 @@ static void cdr_engine_shutdown(void)
ao2_callback(active_cdrs_by_channel, OBJ_NODATA, cdr_object_dispatch_all_cb,
NULL);
finalize_batch_mode();
- aco_info_destroy(&cfg_info);
ast_cli_unregister(&cli_status);
ast_cli_unregister(&cli_debug);
ast_sched_context_destroy(sched);
@@ -3522,6 +3521,12 @@ static void cdr_engine_shutdown(void)
ast_free(batch);
batch = NULL;
+ channel_subscription = stasis_unsubscribe_and_join(channel_subscription);
+ bridge_subscription = stasis_unsubscribe_and_join(bridge_subscription);
+ stasis_message_router_unsubscribe_and_join(stasis_router);
+ aco_info_destroy(&cfg_info);
+ ao2_global_obj_release(module_configs);
+
ao2_ref(active_cdrs_by_channel, -1);
ao2_ref(active_cdrs_by_bridge, -1);
}