]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Deadlock between dahdi_exception() and dahdi_indicate().
authorRichard Mudgett <rmudgett@digium.com>
Wed, 13 Oct 2010 23:29:58 +0000 (23:29 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 13 Oct 2010 23:29:58 +0000 (23:29 +0000)
commit31668a2971e316e493b2a3003434159a5e3ae4af
treeb0f9037b68b01ecb7ab390a6eb7b4deabf1d3498
parent1c2445e81b296bc4532892c8d8d9b63b8050c84f
Deadlock between dahdi_exception() and dahdi_indicate().

There is a deadlock between dahdi_exception() and dahdi_indicate() for
analog ports.  The call-waiting and three-way-calling feature can
experience deadlock if these features are trying to do something and an
event from the bridged channel happens at the same time.

Deadlock avoidance code added to obtain necessary channel locks before
attemting an operation with call-waiting and three-way-calling.

(closes issue #16847)
Reported by: shin-shoryuken
Patches:
      issue_16847_v1.4.patch uploaded by rmudgett (license 664)
      issue_16847_v1.6.2.patch uploaded by rmudgett (license 664)
      issue_16847_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, rmudgett

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

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