Eliminate deadlock potential in dahdi_fixup().
authorRichard Mudgett <rmudgett@digium.com>
Wed, 9 Jun 2010 16:54:38 +0000 (16:54 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 9 Jun 2010 16:54:38 +0000 (16:54 +0000)
commit6c6260d4c7cbc38ff872eea390a2fd83d094c270
tree393a63bcada3a4fde71a707ed9aa921c3afbf3ba
parente98835e43780e92cced22ad1ae8a66e7f4b7672e
Eliminate deadlock potential in dahdi_fixup().

Calling dahdi_indicate() within dahdi_fixup() while the owner pointers are
in a potentially inconsistent state is a potentially bad thing in
principle.

However, calling dahdi_indicate() when the channel private lock is already
held can cause a deadlock if the PRI lock is needed because
dahdi_indicate() will also get the channel private lock.  The pri_grab()
function assumes that the channel private lock is held once to avoid
deadlock.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@269307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_dahdi.c