]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9714: [mod_conference] fix crash due to race on closing file handles when playing...
authorMike Jerris <mike@jerris.com>
Wed, 9 Nov 2016 22:26:41 +0000 (16:26 -0600)
committerMike Jerris <mike@jerris.com>
Wed, 9 Nov 2016 22:26:41 +0000 (16:26 -0600)
src/mod/applications/mod_conference/mod_conference.c

index 5d8961dd069b9d35059d8a425181f3c9e698a792..1be23ea88e383fabf403d0a82f2cde13deaf00ba 100644 (file)
@@ -812,6 +812,8 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
                }
        }
 
+       switch_mutex_lock(conference->mutex);
+
        /* Close Unused Handles */
        if (conference->fnode) {
                conference_file_node_t *fnode, *cur;
@@ -840,6 +842,8 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
                switch_core_destroy_memory_pool(&pool);
        }
 
+       switch_mutex_unlock(conference->mutex);
+
        /* Wait till everybody is out */
        conference_utils_clear_flag_locked(conference, CFLAG_RUNNING);
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Write Lock ON\n");