Author: anthm Date: Wed Mar 19 18:52:16 2008 New Revision: 7938 Modified: freeswitch/trunk/src/switch_ivr_bridge.c Log: running out of bugs to fix Modified: freeswitch/trunk/src/switch_ivr_bridge.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_bridge.c (original) +++ freeswitch/trunk/src/switch_ivr_bridge.c Wed Mar 19 18:52:16 2008 @@ -157,10 +157,15 @@ msg.message_id = SWITCH_MESSAGE_INDICATE_BRIDGE; switch_core_session_receive_message(session_a, &msg); switch_channel_clear_flag(chan_b, CF_SUSPEND); + switch_core_session_kill_channel(session_b, SWITCH_SIG_BREAK); } - + if (!nosuspend && (switch_channel_test_flag(chan_a, CF_SUSPEND) || switch_channel_test_flag(chan_b, CF_SUSPEND))) { - switch_yield(10000); + status = switch_core_session_read_frame(session_a, &read_frame, -1, stream_id); + + if (!SWITCH_READ_ACCEPTABLE(status)) { + goto end_of_bridge_loop; + } continue; }