Fix crash from bridge channel hangup race condition in ConfBridge
authorMatthew Jordan <mjordan@digium.com>
Fri, 13 Jan 2012 16:48:06 +0000 (16:48 +0000)
committerMatthew Jordan <mjordan@digium.com>
Fri, 13 Jan 2012 16:48:06 +0000 (16:48 +0000)
commita8276fe8efbca7e14862c469c0c95df71b506947
tree8f777b718c107a4ba51c9f9fe93e347545e64ad2
parent19a976108479e82e6d6d9eadae2e7cc20a98a0ac
Fix crash from bridge channel hangup race condition in ConfBridge

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
2. It removes the deadlock avoidance from the bridging layer and makes the
   bridge_pvt an ao2 ref counted object

Patch by David Vossel (mjordan was merely the commit monkey)

(issue ASTERISK-18988)
(closes issue ASTERISK-18885)
Reported by: Dmitry Melekhov
Tested by: Matt Jordan
Patches: chan_bridge_cleanup_v.diff uploaded by David Vossel (license 5628)

(closes issue ASTERISK-19100)
Reported by: Matt Jordan
Tested by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/1654/
........

Merged revisions 350550 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_confbridge.c
bridges/bridge_builtin_features.c
channels/chan_bridge.c
include/asterisk/bridging.h
main/bridging.c