Merged revisions 301946 via svnmerge from
authorRichard Mudgett <rmudgett@digium.com>
Fri, 14 Jan 2011 21:13:08 +0000 (21:13 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 14 Jan 2011 21:13:08 +0000 (21:13 +0000)
commitc69406f384f41f849af0f1d4fcae3c4458fcdffb
tree09a86b1f06abcbe6f510d33f82f0263e02c1155d
parented0a2e8c314f75d41893ec4150196d9584eca82e
Merged revisions 301946 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r301946 | rmudgett | 2011-01-14 15:09:57 -0600 (Fri, 14 Jan 2011) | 13 lines

  Deadlock between dahdi_request() and pri_dchannel() processing an incomming call.

  The sig_pri_new_ast_channel() is called with the channel private lock held
  when pri_dchannel() calls it and no channel private lock held when
  dahdi_request() calls it.  The use of pri_grab() in
  sig_pri_new_ast_channel() could leave the channel private lock held when
  it returns if the lock was not held before calling it.

  Make sig_pri_new_ast_channel() just lock the PRI span lock instead of
  using pri_grab().  It is safe to do this because dahdi_request() does not
  have the channel private lock and the deadlock potential with the PRI span
  lock is only between pri_dchannel() and other threads.
........

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