FS-9748 #resolve [Locking contention with mod_shout playing conference moh] %backport=1.6

This commit is contained in:
Anthony Minessale 2016-11-16 20:08:56 -06:00 committed by Brian West
parent 4cf0ff9a17
commit 232d171577
3 changed files with 3 additions and 1 deletions

View File

@ -237,6 +237,7 @@ void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, void *ob
uint32_t conference_energy = 0;
int nomoh = 0;
conference_member_t *floor_holder;
switch_status_t moh_status = SWITCH_STATUS_SUCCESS;
/* Sync the conference to a single timing source */
if (switch_core_timer_next(&timer) != SWITCH_STATUS_SUCCESS) {

View File

@ -683,6 +683,7 @@ typedef struct conference_obj {
int scale_h264_canvas_height;
int scale_h264_canvas_fps_divisor;
char *scale_h264_canvas_bandwidth;
uint32_t moh_wait;
} conference_obj_t;
/* Relationship with another member */

View File

@ -717,7 +717,7 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, const char
if (handle->handler) {
int sanity = 1000;
while(--sanity > 0 && !switch_buffer_inuse(context->audio_buffer)) {
while(--sanity > 0 && !switch_buffer_inuse(context->audio_buffer) && !context->eof && !context->err) {
switch_yield(20000);
}