From cf1a0a5a51fcfa76d7c6f0f9867a5534a7ccb0ef Mon Sep 17 00:00:00 2001 From: Chad Phillips Date: Mon, 24 Apr 2017 08:33:38 -0500 Subject: [PATCH] FS-10261: Fire conference-destroy event later The conference-destroy event can fire later, after more conference shutdown operations are complete, such as closing open recording files. --- src/mod/applications/mod_conference/mod_conference.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index a15a5fc34d..89a35b38dc 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -789,11 +789,6 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob switch_cond_next(); } - switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT); - conference_event_add_data(conference, event); - switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "conference-destroy"); - switch_event_fire(&event); - switch_core_timer_destroy(&timer); switch_mutex_lock(conference_globals.hash_mutex); if (conference_utils_test_flag(conference, CFLAG_INHASH)) { @@ -831,6 +826,12 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob } conference->end_time = switch_epoch_time_now(NULL); + + switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT); + conference_event_add_data(conference, event); + switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Action", "conference-destroy"); + switch_event_fire(&event); + conference_cdr_render(conference); switch_mutex_lock(conference_globals.setup_mutex);