From: Anthony Minessale Date: Thu, 19 Oct 2017 18:24:40 +0000 (-0500) Subject: FS-10734: [mod_conference] Fix deadlock on hangup race #resolve X-Git-Tag: v1.6.20~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f51b5d2dceab857dce66e2c5e9acb5799aabea9c;p=thirdparty%2Ffreeswitch.git FS-10734: [mod_conference] Fix deadlock on hangup race #resolve --- diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c index 03b7866c36..8daf4108e4 100644 --- a/src/mod/applications/mod_conference/conference_video.c +++ b/src/mod/applications/mod_conference/conference_video.c @@ -3149,7 +3149,9 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread_t *thr write_frame.packetlen = 0; if (imember->mux_out_queue && switch_frame_buffer_dup(imember->fb, &write_frame, &dupframe) == SWITCH_STATUS_SUCCESS) { - switch_queue_push(imember->mux_out_queue, dupframe); + if (switch_queue_trypush(imember->mux_out_queue, dupframe) != SWITCH_STATUS_SUCCESS) { + switch_frame_buffer_free(imember->fb, &dupframe); + } dupframe = NULL; } }