summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Elder <aelder@audioscience.com>2012-11-29 15:37:14 -0500
committerAndrew Elder <aelder@audioscience.com>2013-01-02 16:39:10 -0500
commit0d7191f3d644df64848c7c58f9110abe9279cfee (patch)
tree73679e7dc813cc0dfd4aab41b24e54764c9e47ef
parentce26667903fd9008e4add34a2c93803a89e9ab18 (diff)
downloadOpen-AVB-0d7191f3d644df64848c7c58f9110abe9279cfee.tar.gz
mrpd: don't (re)start jointimer if it is already running.
-rw-r--r--daemons/mrpd/mrp.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/daemons/mrpd/mrp.c b/daemons/mrpd/mrp.c
index a7a454b3..f121b1e6 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;