[asterisk-commits] rmudgett: branch group/bridge_construction r385038 - /team/group/bridge_const...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Apr 8 15:55:11 CDT 2013


Author: rmudgett
Date: Mon Apr  8 15:55:07 2013
New Revision: 385038

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=385038
Log:
Make channel point back to the correct bridge_channel after atxfer.

Modified:
    team/group/bridge_construction/bridges/bridge_builtin_features.c

Modified: team/group/bridge_construction/bridges/bridge_builtin_features.c
URL: http://svnview.digium.com/svn/asterisk/team/group/bridge_construction/bridges/bridge_builtin_features.c?view=diff&rev=385038&r1=385037&r2=385038
==============================================================================
--- team/group/bridge_construction/bridges/bridge_builtin_features.c (original)
+++ team/group/bridge_construction/bridges/bridge_builtin_features.c Mon Apr  8 15:55:07 2013
@@ -329,6 +329,18 @@
 	 */
 	ast_bridge_join(attended_bridge, bridge_channel->chan, NULL, &caller_features, NULL, 0);
 
+/*
+ * BUGBUG there is a small window where the channel does not point to the bridge_channel.
+ *
+ * This window is expected to go away when atxfer is redesigned
+ * to fully support existing functionality.  There will be one
+ * and only one ast_bridge_channel structure per channel.
+ */
+	/* Point the channel back to the original bridge_channel. */
+	ast_channel_lock(bridge_channel->chan);
+	ast_channel_internal_bridge_channel_set(bridge_channel->chan, bridge_channel);
+	ast_channel_unlock(bridge_channel->chan);
+
 	/* Wait for peer thread to exit bridge and die. */
 	if (!ast_autoservice_start(bridge_channel->chan)) {
 		ast_bridge_depart(peer);




More information about the asterisk-commits mailing list