[asterisk-bugs] [Asterisk 0017912]: ao2_t_callback of dialog_needdestroy is called every loop of do_monitor

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Sep 21 15:27:05 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17912 
====================================================================== 
Reported By:                schmidts
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17912
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     confirmed
Asterisk Version:           1.6.2.11 
JIRA:                       SWP-2124 
Regression:                 No 
Reviewboard Link:           https://reviewboard.asterisk.org/r/825/ 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-08-25 10:05 CDT
Last Modified:              2010-09-21 15:27 CDT
====================================================================== 
Summary:                    ao2_t_callback of dialog_needdestroy is called every
loop of do_monitor
Description: 
the ao2_t_callback is fired in every loop of do_monitor which cause
asterisk to slow down if there are many open dialogs. I wrote a patch to
count up to 10 seconds and then launch the ao2_t_callback only once. the
time is only count between the start and end of ast_io_wait cause there is
a polling (waiting) done.
====================================================================== 

---------------------------------------------------------------------- 
 (0127235) svnbot (reporter) - 2010-09-21 15:27
 https://issues.asterisk.org/view.php?id=17912#c127235 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 288063

U   trunk/channels/chan_sip.c

------------------------------------------------------------------------
r288063 | schmitds | 2010-09-21 15:27:04 -0500 (Tue, 21 Sep 2010) | 12
lines

Instead of iterate through all dialogs, add two separte container for
needdestroy and rtptimeout

adding two dialog container, one for dialogs which need destroy, another
for rtptimeout checks. 
both container will be checked on every loop of do_monitor instead of
iterate through all dialogs.

(closes issue https://issues.asterisk.org/view.php?id=17912)
Reported by: schmidts
Tested by: schmidts

Review: https://reviewboard.asterisk.org/r/917/


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=288063 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-09-21 15:27 svnbot         Checkin                                      
2010-09-21 15:27 svnbot         Note Added: 0127235                          
======================================================================




More information about the asterisk-bugs mailing list