diff options
author | Kevin Harwell <kharwell@digium.com> | 2013-12-13 18:33:25 +0000 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2013-12-13 18:33:25 +0000 |
commit | 84e1790beb1c28f762fa991f99d4a41ede2c3935 (patch) | |
tree | 0d013a16a3d23b4e72c4392ca8875deb4206141c /include/asterisk/channel.h | |
parent | f425c4a086526d8f4da91d62a5e02121c09609b8 (diff) |
bridge_native_rtp: Deadlock during 4-way conference creation
The change contains a slightly adjusted patch that was on the issue
(submitted by kmoore). A fix was made by adding in a bridge lock
while calling bridge_start/stop from the framehook callback. Since
the framehook callback is not called from the bridging core the bridge
is not locked, but needs to be before calling bridge_start.
(closes issue ASTERISK-22749)
Reported by: Kinsey Moore
Review: https://reviewboard.asterisk.org/r/3066/
Patches:
lock_inversion.diff uploaded by kmoore (license 6273)
........
Merged revisions 403767 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/channel.h')
-rw-r--r-- | include/asterisk/channel.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 7db2b3c3a..03d9aef68 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -4214,6 +4214,8 @@ int ast_channel_is_bridged(const struct ast_channel *chan); * \note The returned peer channel is the current peer in the * bridge when called. * + * \note Absolutely _NO_ channel locks should be held when calling this function. + * * \retval NULL Channel not in a bridge or the bridge is not two-party. * \retval non-NULL Reffed peer channel at time of calling. */ |