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);
break;
}
+ switch_channel_check_signal(channel, SWITCH_TRUE);
+
switch_cond_next();
if (++count >= timeout) {
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;
}