From 0d7191f3d644df64848c7c58f9110abe9279cfee Mon Sep 17 00:00:00 2001 From: Andrew Elder Date: Thu, 29 Nov 2012 15:37:14 -0500 Subject: [PATCH] mrpd: don't (re)start jointimer if it is already running. --- daemons/mrpd/mrp.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/daemons/mrpd/mrp.c b/daemons/mrpd/mrp.c index a7a454b..f121b1e 100644 --- a/daemons/mrpd/mrp.c +++ b/daemons/mrpd/mrp.c @@ -238,17 +238,19 @@ int mrp_client_delete(client_t ** list, struct sockaddr_in *newclient) int mrp_jointimer_start(struct mrp_database *mrp_db) { - int ret; + int ret = 0; /* 10.7.4.1 - interval between transmit opportunities * for applicant state machine */ #if LOG_TIMERS if (mrp_db->join_timer_running) - mrpd_log_printf("MRP start join timer *ALREADY RUNNING*\n"); + mrpd_log_printf("MRP join timer running\n"); else - mrpd_log_printf("MRP start join timer\n"); + mrpd_log_printf("MRP join timer start \n"); #endif - ret = mrpd_timer_start(mrp_db->join_timer, MRP_JOINTIMER_VAL); + if (!mrp_db->join_timer_running ) { + ret = mrpd_timer_start(mrp_db->join_timer, MRP_JOINTIMER_VAL); + } if (ret >= 0) mrp_db->join_timer_running = 1; return ret; -- 2.7.4