[asterisk-dev] [Code Review] Convert device state callbacks to ao2 objects to fix a deadlock.
Jeff Peeler
reviewboard at asterisk.org
Wed Jan 12 15:20:34 CST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1072/
-----------------------------------------------------------
(Updated 2011-01-12 15:20:34.734469)
Review request for Asterisk Developers.
Changes
-------
Addressed comments.
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 (updated)
-----
/branches/1.6.2/main/pbx.c 301681
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/20110112/2f6b6f3a/attachment.htm>
More information about the asterisk-dev
mailing list