[libpri-commits] rmudgett: branch 1.4 r1060 - in /branches/1.4: q921.c q931.c

SVN commits to the libpri project libpri-commits at lists.digium.com
Wed Sep 2 15:04:07 CDT 2009


Author: rmudgett
Date: Wed Sep  2 15:04:03 2009
New Revision: 1060

URL: http://svn.asterisk.org/svn-view/libpri?view=rev&rev=1060
Log:
Optimized calls to pri_schedule_del().

There is no need to test if a scheduled event is running before calling
pri_schedule_del().

Modified:
    branches/1.4/q921.c
    branches/1.4/q931.c

Modified: branches/1.4/q921.c
URL: http://svn.asterisk.org/svn-view/libpri/branches/1.4/q921.c?view=diff&rev=1060&r1=1059&r2=1060
==============================================================================
--- branches/1.4/q921.c (original)
+++ branches/1.4/q921.c Wed Sep  2 15:04:03 2009
@@ -139,8 +139,7 @@
 #endif
 	pri->ri = random() % 65535;
 	q921_send_tei(pri, Q921_TEI_IDENTITY_REQUEST, pri->ri, Q921_TEI_GROUP, 1);
-	if (pri->t202_timer)
-		pri_schedule_del(pri, pri->t202_timer);
+	pri_schedule_del(pri, pri->t202_timer);
 	pri->t202_timer = pri_schedule_event(pri, pri->timers[PRI_TIMER_T202], q921_tei_request, pri);
 }
 
@@ -174,8 +173,8 @@
 {
 	struct pri *pri = vpri;
 	q921_h h;
+
 	pri_schedule_del(pri, pri->sabme_timer);
-	pri->sabme_timer = 0;
 	pri->sabme_timer = pri_schedule_event(pri, pri->timers[PRI_TIMER_T200], q921_send_sabme_now, pri);
 	if (!now)
 		return;
@@ -253,8 +252,7 @@
 {
 	if (pri->debug & PRI_DEBUG_Q921_DUMP)
 		pri_message(pri, "-- Restarting T200 timer\n");
-	if (pri->t200_timer)
-		pri_schedule_del(pri, pri->t200_timer);
+	pri_schedule_del(pri, pri->t200_timer);
 	pri->t200_timer = pri_schedule_event(pri, pri->timers[PRI_TIMER_T200], t200_expire, pri);
 }
 
@@ -262,8 +260,7 @@
 {
 	if (pri->debug & PRI_DEBUG_Q921_DUMP)
 		pri_message(pri, "-- Restarting T203 timer\n");
-	if (pri->t203_timer) 
-		pri_schedule_del(pri, pri->t203_timer);
+	pri_schedule_del(pri, pri->t203_timer);
 	pri->t203_timer = pri_schedule_event(pri, pri->timers[PRI_TIMER_T203], t203_expire, pri);
 }
 
@@ -311,10 +308,8 @@
 		if (pri->debug & PRI_DEBUG_Q921_DUMP)
 			pri_message(pri, "-- Since there was nothing left, stopping T200 counter\n");
 		/* Something was ACK'd.  Stop T200 counter */
-		if (pri->t200_timer) {
-			pri_schedule_del(pri, pri->t200_timer);
-			pri->t200_timer = 0;
-		}
+		pri_schedule_del(pri, pri->t200_timer);
+		pri->t200_timer = 0;
 	}
 	if (pri->t203_timer) {
 		if (pri->debug & PRI_DEBUG_Q921_DUMP)
@@ -785,10 +780,8 @@
 pri_event *q921_dchannel_up(struct pri *pri)
 {
 	/* Stop any SABME retransmissions */
-	if (pri->sabme_timer) {
-		pri_schedule_del(pri, pri->sabme_timer);
-		pri->sabme_timer = 0;
-	}
+	pri_schedule_del(pri, pri->sabme_timer);
+	pri->sabme_timer = 0;
 	
 	/* Reset any rejects */
 	pri->sentrej = 0;
@@ -833,12 +826,9 @@
 	pri->v_na = 0;
 	pri->window = pri->timers[PRI_TIMER_K];
 	pri->windowlen = 0;
-	if (pri->sabme_timer)
-		pri_schedule_del(pri, pri->sabme_timer);
-	if (pri->t203_timer)
-		pri_schedule_del(pri, pri->t203_timer);
-	if (pri->t200_timer)
-		pri_schedule_del(pri, pri->t200_timer);
+	pri_schedule_del(pri, pri->sabme_timer);
+	pri_schedule_del(pri, pri->t203_timer);
+	pri_schedule_del(pri, pri->t200_timer);
 	pri->sabme_timer = 0;
 	pri->sabme_count = 0;
 	pri->t203_timer = 0;
@@ -909,10 +899,8 @@
 			pri_message(pri, "TEI assignment received for invalid Ri %02x (our is %02x)\n", ri, pri->ri);
 			return NULL;
 		}
-		if (pri->t202_timer) {
-			pri_schedule_del(pri, pri->t202_timer);
-			pri->t202_timer = 0;
-		}
+		pri_schedule_del(pri, pri->t202_timer);
+		pri->t202_timer = 0;
 		if (pri->subchannel && (pri->subchannel->tei == tei)) {
 			pri_error(pri, "TEI already assigned (new is %d, current is %d)\n", tei, pri->subchannel->tei);
 			q921_tei_release_and_reacquire(pri);
@@ -1082,10 +1070,8 @@
 					}
 				}
 				/* Reset t200 timer if it was somehow going */
-				if (pri->t200_timer) {
-					pri_schedule_del(pri, pri->t200_timer);
-					pri->t200_timer = 0;
-				}
+				pri_schedule_del(pri, pri->t200_timer);
+				pri->t200_timer = 0;
 				/* Reset and restart t203 timer */
 				reschedule_t203(pri);
 			}

Modified: branches/1.4/q931.c
URL: http://svn.asterisk.org/svn-view/libpri/branches/1.4/q931.c?view=diff&rev=1060&r1=1059&r2=1060
==============================================================================
--- branches/1.4/q931.c (original)
+++ branches/1.4/q931.c Wed Sep  2 15:04:03 2009
@@ -3116,8 +3116,7 @@
 					"NEW_HANGUP DEBUG: Destroying the call, ourstate %s, peerstate %s\n",
 					q931_call_state_str(cur->ourcallstate),
 					q931_call_state_str(cur->peercallstate));
-			if (cur->retranstimer)
-				pri_schedule_del(ctrl, cur->retranstimer);
+			pri_schedule_del(ctrl, cur->retranstimer);
 			pri_call_apdu_queue_cleanup(cur);
 			free(cur);
 			return;
@@ -3754,8 +3753,7 @@
 	c->peercallstate = Q931_CALL_STATE_ACTIVE;
 	c->alive = 1;
 	/* Connect request timer */
-	if (c->retranstimer)
-		pri_schedule_del(ctrl, c->retranstimer);
+	pri_schedule_del(ctrl, c->retranstimer);
 	c->retranstimer = 0;
 	if ((c->ourcallstate == Q931_CALL_STATE_CONNECT_REQUEST) && (ctrl->bri || (!ctrl->subchannel)))
 		c->retranstimer = pri_schedule_event(ctrl, ctrl->timers[PRI_TIMER_T313], pri_connect_timeout, c);
@@ -3797,8 +3795,7 @@
 		c->causecode = CODE_CCITT;
 		c->causeloc = LOC_PRIV_NET_LOCAL_USER;
 		if (c->acked) {
-			if (c->retranstimer)
-				pri_schedule_del(ctrl, c->retranstimer);
+			pri_schedule_del(ctrl, c->retranstimer);
 			if (!c->t308_timedout) {
 				c->retranstimer = pri_schedule_event(ctrl, ctrl->timers[PRI_TIMER_T308], pri_release_timeout, c);
 			} else {
@@ -3845,8 +3842,7 @@
 		c->causecode = CODE_CCITT;
 		c->causeloc = LOC_PRIV_NET_LOCAL_USER;
 		c->sendhangupack = 1;
-		if (c->retranstimer)
-			pri_schedule_del(ctrl, c->retranstimer);
+		pri_schedule_del(ctrl, c->retranstimer);
 		c->retranstimer = pri_schedule_event(ctrl, ctrl->timers[PRI_TIMER_T305], pri_disconnect_timeout, c);
 		return send_message(ctrl, c, Q931_DISCONNECT, disconnect_ies);
 	} else
@@ -4210,8 +4206,7 @@
 		c->progressmask = 0;
 		break;
 	case Q931_CONNECT_ACKNOWLEDGE:
-		if (c->retranstimer)
-			pri_schedule_del(ctrl, c->retranstimer);
+		pri_schedule_del(ctrl, c->retranstimer);
 		c->retranstimer = 0;
 		break;
 	case Q931_RELEASE:
@@ -4220,14 +4215,12 @@
 		c->causecode = -1;
 		c->causeloc = -1;
 		c->aoc_units = -1;
-		if (c->retranstimer)
-			pri_schedule_del(ctrl, c->retranstimer);
+		pri_schedule_del(ctrl, c->retranstimer);
 		c->retranstimer = 0;
 		c->useruserinfo[0] = '\0';
 		break;
 	case Q931_RELEASE_COMPLETE:
-		if (c->retranstimer)
-			pri_schedule_del(ctrl, c->retranstimer);
+		pri_schedule_del(ctrl, c->retranstimer);
 		c->retranstimer = 0;
 		c->useruserinfo[0] = '\0';
 		/* Fall through */
@@ -5102,8 +5095,7 @@
 	struct pri *ctrl = c->pri;
 	int res;
 
-	if (c->retranstimer)
-		pri_schedule_del(ctrl, c->retranstimer);
+	pri_schedule_del(ctrl, c->retranstimer);
 	c->retranstimer = 0;
 	c->useruserinfo[0] = '\0';
 	c->cause = -1;
@@ -5190,8 +5182,7 @@
 				pri_message(ctrl, DBGHEAD "cancel call %d on channel %d in state %d (%s)\n", DBGINFO,
 					cur->cr, cur->channelno, cur->ourcallstate,
 					q931_call_state_str(cur->ourcallstate));
-				if (cur->retranstimer)
-					pri_schedule_del(ctrl, cur->retranstimer);
+				pri_schedule_del(ctrl, cur->retranstimer);
 				cur->retranstimer = pri_schedule_event(ctrl, 0, pri_dl_down_cancelcall, cur);
 			}
 			cur = cur->next;




More information about the libpri-commits mailing list