Fix deadlock potential with ast_set_hangupsource() calls.
authorRichard Mudgett <rmudgett@digium.com>
Mon, 11 Jun 2012 17:34:08 +0000 (17:34 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 11 Jun 2012 17:34:08 +0000 (17:34 +0000)
commit72eb8eb1e7ee0e097c1124a9c12cc984a670ee24
treec5ccd4f6f09127b22eeaf49b7f37585b1e48d723
parentc6142cf2cc7312122abcf74d6ab1daf0ad1d72bf
Fix deadlock potential with ast_set_hangupsource() calls.

Calling ast_set_hangupsource() with the channel lock held can result in a
deadlock because the function also locks the bridged channel.

(issue ASTERISK-19537)

(closes issue AST-891)
Reported by: Guenther Kelleter
Tested by: Guenther Kelleter

(closes issue ASTERISK-19801)
Reported by: Alec Davis
........

Merged revisions 368759 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_dahdi.c
channels/chan_iax2.c
channels/chan_sip.c
channels/sig_analog.c
include/asterisk/channel.h
main/channel.c