]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Change AST_SCHED_DEL use to ast_sched_del for autocongestion in chan_sip.
authorMark Michelson <mmichelson@digium.com>
Wed, 12 Mar 2008 21:53:46 +0000 (21:53 +0000)
committerMark Michelson <mmichelson@digium.com>
Wed, 12 Mar 2008 21:53:46 +0000 (21:53 +0000)
The scheduler callback will always return 0. This means that this id
is never rescheduled, so it makes no sense to loop trying to delete
the id from the scheduler queue. If we fail to remove the item from the
queue once, it will fail every single time.

(Yes I realize that in this case, the macro would exit early because the
id is set to -1 in the callback, but it still makes no sense to use
that macro in favor of calling ast_sched_del once and being done with it)

This is the first of potentially several such fixes.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@108288 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index cf8a78e949398a288430d2c09f5a380f24f8548e..9e3b89760f90e11694bef2c07b834348ab3c49c2 100644 (file)
@@ -3019,7 +3019,7 @@ static int sip_call(struct ast_channel *ast, char *dest, int timeout)
                        p->invitestate = INV_CALLING;
 
                        /* Initialize auto-congest time */
-                       AST_SCHED_DEL(sched, p->initid);
+                       ast_sched_del(sched, p->initid);
                        p->initid = ast_sched_add(sched, p->maxtime ? (p->maxtime * 4) : SIP_TRANS_TIMEOUT, auto_congest, p);
                }
        }
@@ -3092,7 +3092,7 @@ static void __sip_destroy(struct sip_pvt *p, int lockowner)
 
        if (p->stateid > -1)
                ast_extension_state_del(p->stateid, NULL);
-       AST_SCHED_DEL(sched, p->initid);
+       ast_sched_del(sched, p->initid);
        AST_SCHED_DEL(sched, p->waitid);
        AST_SCHED_DEL(sched, p->autokillid);
 
@@ -12045,7 +12045,7 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
 
        /* Acknowledge sequence number - This only happens on INVITE from SIP-call */
        /* Don't auto congest anymore since we've gotten something useful back */
-       AST_SCHED_DEL(sched, p->initid);
+       ast_sched_del(sched, p->initid);
 
        /* RFC3261 says we must treat every 1xx response (but not 100)
           that we don't recognize as if it was 183.