diff options
Diffstat (limited to 'main/cdr.c')
-rw-r--r-- | main/cdr.c | 7 |
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); } |