From fd30b495b6002c41b5de427c6d93193b834e3f5a Mon Sep 17 00:00:00 2001 From: Matthew Fredrickson Date: Mon, 28 Sep 2009 19:07:01 +0000 Subject: [PATCH] Changes for 1.4.10.2 git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.10.2@1143 2fbb986a-6c06-0410-b554-c9c1f0a7f128 --- ChangeLog | 8 ++++++++ q921.c | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index a161ee3..12e05c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-04-18 Matthew Fredrickson + + * libpri 1.4.10.2 released. A bug was found which was introduced + during the PTMP rewrite, which causes timers to not be cleared + before being set in certain situations. This can cause the + scheduler to be competely filled, as well as improper Q.921 link + operation. + 2009-04-18 Matthew Fredrickson * libpri 1.4.10.1 released. Includes a fix for a regression found in diff --git a/q921.c b/q921.c index f2057a6..83b9c7c 100644 --- a/q921.c +++ b/q921.c @@ -799,6 +799,16 @@ static pri_event *q921_dchannel_up(struct pri *pri) pri_message(pri, DBGHEAD "q921_state now is Q921_LINK_CONNECTION_ESTABLISHED\n", DBGINFO); pri->q921_state = Q921_LINK_CONNECTION_ESTABLISHED; + /* Ensure that we do not have T200 or T203 running when the link comes up */ + if (pri->t200_timer) { + pri_schedule_del(pri, pri->t200_timer); + pri->t200_timer = 0; + } + + if (pri->t203_timer) { + pri_schedule_del(pri, pri->t203_timer); + } + /* Start the T203 timer */ pri->t203_timer = pri_schedule_event(pri, pri->timers[PRI_TIMER_T203], t203_expire, pri);