[asterisk-dev] [Code Review] Fix bridge channel hangup race condition in ConfBridge, deadlock avoidance in bridging layer

Matt Jordan reviewboard at asterisk.org
Thu Jan 5 18:31:09 CST 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1654/
-----------------------------------------------------------

Review request for Asterisk Developers, Mark Michelson and David Vossel.


Summary
-------

This patch addresses two issues in ConfBridge and the channel bridge layer:
1. It fixes a race condition wherein the bridge channel could be hung up twice
2. It removes the deadlock avoidance from the bridging layer and makes the bridge_pvt an ao2 ref counted object

Note that this is a David Vossel patch, and I make no claim to its awesomeness.


This addresses bugs ASTERISK-18885, ASTERISK-18988 and ASTERISK-19100.
    https://issues.asterisk.org/jira/browse/ASTERISK-18885
    https://issues.asterisk.org/jira/browse/ASTERISK-18988
    https://issues.asterisk.org/jira/browse/ASTERISK-19100


Diffs
-----

  /branches/10/apps/app_confbridge.c 349721 
  /branches/10/bridges/bridge_builtin_features.c 349721 
  /branches/10/channels/chan_bridge.c 349721 
  /branches/10/include/asterisk/bridging.h 349721 
  /branches/10/main/bridging.c 349721 

Diff: https://reviewboard.asterisk.org/r/1654/diff


Testing
-------

Previously ConfBridge would suffer timing-dependent crashes on application exit.  This usually occurred one out of every 20 or so runs (using the Test Suite's ConfBridge nominal test).

With the patch, ran 100 times without failures.


Thanks,

Matt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120106/7eada336/attachment.htm>


More information about the asterisk-dev mailing list