ra_timer_update() just updates rai->timer.tm, we need to call
evtimer_add(3) for the new timeout to be scheduled.  I missed
this one when converting rtadvd to libevent.  ok?


Index: config.c
===================================================================
RCS file: /d/cvs/src/usr.sbin/rtadvd/config.c,v
retrieving revision 1.61
diff -u -p -U5 -r1.61 config.c
--- config.c    12 Jul 2017 06:11:07 -0000      1.61
+++ config.c    8 Aug 2017 01:03:35 -0000
@@ -623,10 +623,11 @@ make_prefix(struct rainfo *rai, int ifin
        /*
         * reset the timer so that the new prefix will be advertised quickly.
         */
        rai->initcounter = 0;
        ra_timer_update(rai);
+       evtimer_add(&rai->timer.ev, &rai->timer.tm);
 }
 
 /*
  * Delete a prefix to the list of specified interface and reconstruct
  * the outgoing packet.


-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to