]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
running out of bugs to fix
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 19 Mar 2008 22:52:16 +0000 (22:52 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 19 Mar 2008 22:52:16 +0000 (22:52 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7938 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_ivr_bridge.c

index fcb2ac8e1d55dfcde7d6bef771d1b594f45c7aff..943fb87e0cdbdc7c1127441ddae8c809e74e6c1a 100644 (file)
@@ -157,10 +157,15 @@ static void *audio_bridge_thread(switch_thread_t * thread, void *obj)
                        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;
                }