[asterisk-dev] [Code Review] fixes deadlock in chan_sip caused by use of MASTER_CHANNEL() dialplan function

David Vossel dvossel at digium.com
Tue Apr 6 09:17:55 CDT 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/606/
-----------------------------------------------------------

(Updated 2010-04-06 09:17:54.808152)


Review request for Asterisk Developers and Tilghman Lesher.


Changes
-------

This update moves the MASTER_CHANNEL sip cause update to a place where both the channel and sip_pvt can be safely unlocked after handle_response().


Summary
-------

The use of the MASTER_CHANNEL() dialplan function in chan_sip currently causes a deadlock as it invalidates channel container locking order. This patch uses a taskprocessor in chan_sip to push the task of using pbx setvar on MASTER_CHANNEL() to a separate thread.


This addresses bug 16767.
    https://issues.asterisk.org/view.php?id=16767


Diffs (updated)
-----

  /trunk/channels/chan_sip.c 256318 

Diff: https://reviewboard.asterisk.org/r/606/diff


Testing
-------

made sip calls, verified items were being pushed and processed by the taskprocessor.


Thanks,

David




More information about the asterisk-dev mailing list