[asterisk-dev] [Code Review] Fix some issues in the provisional response keepalive code.
Russell Bryant
reviewboard at asterisk.org
Wed Jan 11 19:32:34 CST 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1648/
-----------------------------------------------------------
(Updated Jan. 11, 2012, 7:32 p.m.)
Review request for Asterisk Developers.
Changes
-------
This patch comments out the part of the patch that addresses the reference leak. It actually causes a crash. The patch is this state has been working fine for a while now. One of two things is happening here. Either I misread the code and there's not actually a sip_pvt ref leak here, or this really is a problem and fixing it is just exposing a sip_pvt ref count error elsewhere.
Summary
-------
1) Fix a sip_pvt reference leak. If the scheduler callback returned 0, it did not release the reference to the associated sip_pvt.
2) Add locking in the scheduler callback. This code runs from the scheduler, which is executed in the SIP monitor thread. A channel thread will be working with the sip_pvt at the same time. Use sip_pvt_lock_full to ensure that the ast_channel/sip_pvt locking order is honored.
This addresses bug ASTERISK-18979.
https://issues.asterisk.org/jira/browse/ASTERISK-18979
Diffs (updated)
-----
/branches/1.8/channels/chan_sip.c 350500
Diff: https://reviewboard.asterisk.org/r/1648/diff
Testing
-------
Currently running under heavy load on the reporter's production system.
Thanks,
Russell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120112/d91ad211/attachment.htm>
More information about the asterisk-dev
mailing list