[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