[asterisk-commits] file: branch file/bridging r90989 - /team/file/bridging/main/bridging.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Dec 4 15:07:48 CST 2007
Author: file
Date: Tue Dec 4 15:07:48 2007
New Revision: 90989
URL: http://svn.digium.com/view/asterisk?view=rev&rev=90989
Log:
Remove code responsible for moving channels during merging, it did not work as expected.
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=90989&r1=90988&r2=90989
==============================================================================
--- team/file/bridging/main/bridging.c (original)
+++ team/file/bridging/main/bridging.c Tue Dec 4 15:07:48 2007
@@ -983,31 +983,7 @@
ast_debug(1, "Reacquired lock on bridge %p, now performing merge to %p\n", bridge1, bridge0);
}
- /* Move all channels from bridge1 to bridge0 */
- while ((bridge_channel = AST_LIST_REMOVE_HEAD(&bridge1->channels, list))) {
- /* First we decrement the channel count on bridge1 */
- ast_atomic_fetchadd_int(&bridge1->num, -1);
- /* Second we part them from bridge1 */
- if (bridge1->technology->leave) {
- ast_debug(1, "Giving bridge technology %s notification that %p is leaving bridge %p\n", bridge1->technology->name, bridge_channel, bridge1);
- if (bridge1->technology->leave(bridge1, bridge_channel))
- ast_debug(1, "Bridge technology %s failed to allow %p to leave bridge %p\n", bridge1->technology->name, bridge_channel, bridge1);
- }
- /* Third we add them to the list on bridge0 */
- AST_LIST_INSERT_TAIL(&bridge0->channels, bridge_channel, list);
- /* Fourth we increment the channel count on bridge 0 */
- ast_atomic_fetchadd_int(&bridge0->num, +1);
- /* And finally change the channel to point to this bridge */
- bridge_channel->chan->bridge = bridge0;
- /* Fifth we make them compatible with bridge0 */
- bridge_make_compatible(bridge0, bridge_channel);
- /* Sixth we join them to bridge0 */
- if (bridge0->technology->join) {
- ast_debug(1, "Giving bridge technology %s notification that %p is joining bridge %p\n", bridge0->technology->name, bridge_channel, bridge0);
- if (bridge0->technology->join(bridge0, bridge_channel))
- ast_debug(1, "Bridge technology %s failed to join %p to bridge %p\n", bridge0->technology->name, bridge_channel, bridge0);
- }
- }
+ /* TODO: Move channels from bridge1 to bridge0 _SAFELY_ */
ast_debug(1, "Bridge %p has been merged into bridge %p\n", bridge1, bridge0);
More information about the asterisk-commits
mailing list