[asterisk-dev] [Code Review] Convert device state callbacks to ao2 objects to fix a deadlock.
Russell Bryant
reviewboard at asterisk.org
Tue Jan 18 13:47:21 CST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1072/#review3106
-----------------------------------------------------------
Ship it!
/branches/1.6.2/main/pbx.c
<https://reviewboard.asterisk.org/r/1072/#comment6367>
if you just pass NULL as the callback, you'll get the same behavior
- Russell
On 2011-01-18 12:41:53, Jeff Peeler wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1072/
> -----------------------------------------------------------
>
> (Updated 2011-01-18 12:41:53)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> Lock scenario:
> Thread 1
> holds ast_rdlock_contexts &conlock
> holds handle_statechange hints
> holds handle_statechange hint
> waiting for cb_extensionstate
> Locked Here: chan_sip.c line 7428 (find_call)
> Thread 2
> holds handle_request_do &netlock
> holds find_call sip_pvt_ptr
> waiting for ast_rdlock_contexts &conlock
> Locked Here: pbx.c line 9911 (ast_rdlock_contexts)
>
> Chan_sip has an established locking order of locking the sip_pvt and then getting the context lock. So the as stated by the summary, the operations in thread 2 have been modified to no longer require the context lock.
>
>
> This addresses bug 18310.
> https://issues.asterisk.org/view.php?id=18310
>
>
> Diffs
> -----
>
> /branches/1.6.2/main/pbx.c 302171
>
> Diff: https://reviewboard.asterisk.org/r/1072/diff
>
>
> Testing
> -------
>
> one47 has reported on the issue that it has been going well so far (for 18 hours):
> https://issues.asterisk.org/view.php?id=18310#130297
>
>
> Thanks,
>
> Jeff
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110118/fc12ed54/attachment.htm>
More information about the asterisk-dev
mailing list