Remove some unnecessary locking from ast_hangup().
authorRussell Bryant <russell@russellbryant.com>
Thu, 9 Feb 2012 02:28:18 +0000 (02:28 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 9 Feb 2012 02:28:18 +0000 (02:28 +0000)
commit747cd61edf54868689dac7207e09cf9c3011715b
treea45fa413dc954d9f1a82f7543002f4451bd81642
parent2ce189c5b87c82c1f985f8b62d01621ac477ea1d
Remove some unnecessary locking from ast_hangup().

This patch removes some unnecessary locking of the channels container in
ast_hangup().  The reason this came up is that this lock can very quickly block
the entire system.  If any of the channel cleanup code decides to block, it
causes a problem for the whole system.  For example, when audiohooks get
destroyed, if that blocks for a while waiting on the mixmonitor thread to exit
because it's busy blocking on some I/O, it causes a problem for many other
threads in the meantime.

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

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/channel.c