[asterisk-commits] file: branch file/bridging r90309 - /team/file/bridging/main/bridging.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Nov 30 10:00:15 CST 2007


Author: file
Date: Fri Nov 30 10:00:14 2007
New Revision: 90309

URL: http://svn.digium.com/view/asterisk?view=rev&rev=90309
Log:
It will soon be possible for the two threading models to return while they are indeed waiting on a channel.

Modified:
    team/file/bridging/main/bridging.c

Modified: team/file/bridging/main/bridging.c
URL: http://svn.digium.com/view/asterisk/team/file/bridging/main/bridging.c?view=diff&rev=90309&r1=90308&r2=90309
==============================================================================
--- team/file/bridging/main/bridging.c (original)
+++ team/file/bridging/main/bridging.c Fri Nov 30 10:00:14 2007
@@ -508,10 +508,12 @@
 	}
 
 	/* Pass ourselves off to our respective threading model */
-	if ((bridge->technology->capabilities & AST_BRIDGE_CAPABILITY_MULTITHREADED))
-		bridge_channel_join_multithreaded(bridge, bridge_channel);
-	else
-		bridge_channel_join_singlethreaded(bridge, bridge_channel);
+	while (bridge_channel->state == AST_BRIDGE_CHANNEL_STATE_WAIT) {
+		if ((bridge->technology->capabilities & AST_BRIDGE_CAPABILITY_MULTITHREADED))
+			bridge_channel_join_multithreaded(bridge, bridge_channel);
+		else
+			bridge_channel_join_singlethreaded(bridge, bridge_channel);
+	}
 
 	/* If the bridge technology wants notification that this channel is leaving the bridge, give it it */
 	if (bridge->technology->leave) {




More information about the asterisk-commits mailing list