From b350a97937396228d9854f7f7eaf94b4c5751408 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Wed, 5 Mar 2008 15:17:16 +0000 Subject: [PATCH] Correctly initialize retransid in SIP, and ensure that the warning when failing to delete a schedule entry can actually hit the log. (closes issue #12140) Reported by: slavon Patches: sch2.patch uploaded by slavon (license 288) (Patch slightly modified by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@106015 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 1 + include/asterisk/sched.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 994a4c964e..48dc39e4a0 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2033,6 +2033,7 @@ static enum sip_result __sip_reliable_xmit(struct sip_pvt *p, int seqno, int res ast_set_flag(pkt, FLAG_RESPONSE); pkt->data[len] = '\0'; pkt->timer_t1 = p->timer_t1; /* Set SIP timer T1 */ + pkt->retransid = -1; if (fatal) ast_set_flag(pkt, FLAG_FATAL); if (pkt->timer_t1) diff --git a/include/asterisk/sched.h b/include/asterisk/sched.h index 84a65a07ac..5476dadf76 100644 --- a/include/asterisk/sched.h +++ b/include/asterisk/sched.h @@ -38,7 +38,7 @@ extern "C" { #define AST_SCHED_DEL(sched, id) \ do { \ int _count = 0; \ - while (id > -1 && ast_sched_del(sched, id) && _count++ < 10) \ + while (id > -1 && ast_sched_del(sched, id) && ++_count < 10) \ usleep(1); \ if (_count == 10) \ ast_log(LOG_WARNING, "Unable to cancel schedule ID %d. This is probably a bug (%s: %s, line %d).\n", id, __FILE__, __PRETTY_FUNCTION__, __LINE__); \