From 6138fc87532933e5f0ce5ec4e25be6f91b1c4d01 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 2 Apr 2012 16:03:37 -0500 Subject: [PATCH] FS-4038 can you try this --- src/switch_channel.c | 4 +++- src/switch_ivr_bridge.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/switch_channel.c b/src/switch_channel.c index c3970ea8e2..76161bc9c5 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -1380,7 +1380,7 @@ SWITCH_DECLARE(void) switch_channel_wait_for_state(switch_channel_t *channel, sw for (;;) { if ((channel->state < CS_HANGUP && channel->state == channel->running_state && channel->running_state == want_state) || - (other_channel && switch_channel_down_nosig(other_channel)) || switch_channel_down_nosig(channel)) { + (other_channel && switch_channel_down_nosig(other_channel)) || switch_channel_down(channel)) { break; } switch_yield(20000); @@ -1399,6 +1399,8 @@ SWITCH_DECLARE(void) switch_channel_wait_for_state_timeout(switch_channel_t *cha break; } + switch_channel_check_signal(channel, SWITCH_TRUE); + switch_cond_next(); if (++count >= timeout) { diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 06dc31e1cb..b75549c417 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -776,7 +776,7 @@ static switch_status_t uuid_bridge_on_soft_execute(switch_core_session_t *sessio state = switch_channel_get_state(other_channel); running_state = switch_channel_get_running_state(other_channel); - if (switch_channel_down_nosig(other_channel) || switch_channel_down_nosig(channel)) { + if (switch_channel_down_nosig(other_channel) || switch_channel_down(channel)) { break; }