Download raw body.
[PATCH 1/4] evtimer_del(): remove redundant pending checks in sbin/
While reading event(3), I noticed that it says event_del() has no effect
if an event “has already executed or has never been added”. The manual
describes evtimer_del() as an abbreviation for the same event API, so
checking evtimer_pending() immediately before deleting an initialized
timer is unnecessary.
This patch removes those checks from timer state transitions in
dhcp6leased, dhcpleased, and slaacd, and from timer replacement in iked.
These are mechanical cleanups; timer scheduling and callback behavior
are unchanged.
Comments/OK?
Index: sbin/dhcp6leased/engine.c
===================================================================
RCS file: /cvs/src/sbin/dhcp6leased/engine.c,v
diff -u -p -r1.42 engine.c
--- sbin/dhcp6leased/engine.c 4 Aug 2026 12:50:43 -0000 1.42
+++ sbin/dhcp6leased/engine.c 16 Oct 2026 12:07:35 -0000
@@ -1212,10 +1212,9 @@ state_transition(struct dhcp6leased_ifac
"?" : if_name, if_state_name[old_state], if_state_name[new_state],
iface->timo.tv_sec);
- if (iface->timo.tv_sec == -1) {
- if (evtimer_pending(&iface->timer, NULL))
- evtimer_del(&iface->timer);
- } else
+ if (iface->timo.tv_sec == -1)
+ evtimer_del(&iface->timer);
+ else
evtimer_add(&iface->timer, &iface->timo);
}
Index: sbin/dhcpleased/engine.c
===================================================================
RCS file: /cvs/src/sbin/dhcpleased/engine.c,v
diff -u -p -r1.70 engine.c
--- sbin/dhcpleased/engine.c 26 Aug 2026 17:25:13 -0000 1.70
+++ sbin/dhcpleased/engine.c 16 Oct 2026 12:07:35 -0000
@@ -1544,10 +1544,9 @@ state_transition(struct dhcpleased_iface
if_state_name[old_state], if_state_name[new_state],
iface->timo.tv_sec);
- if (iface->timo.tv_sec == -1) {
- if (evtimer_pending(&iface->timer, NULL))
- evtimer_del(&iface->timer);
- } else
+ if (iface->timo.tv_sec == -1)
+ evtimer_del(&iface->timer);
+ else
evtimer_add(&iface->timer, &iface->timo);
}
Index: sbin/iked/timer.c
===================================================================
RCS file: /cvs/src/sbin/iked/timer.c,v
diff -u -p -r1.13 timer.c
--- sbin/iked/timer.c 13 Sep 2016 10:49:52 -0000 1.13
+++ sbin/iked/timer.c 16 Oct 2026 12:07:35 -0000
@@ -37,8 +37,7 @@ void
timer_set(struct iked *env, struct iked_timer *tmr,
void (*cb)(struct iked *, void *), void *arg)
{
- if (evtimer_initialized(&tmr->tmr_ev) &&
- evtimer_pending(&tmr->tmr_ev, NULL))
+ if (evtimer_initialized(&tmr->tmr_ev))
evtimer_del(&tmr->tmr_ev);
tmr->tmr_env = env;
Index: sbin/slaacd/engine.c
===================================================================
RCS file: /cvs/src/sbin/slaacd/engine.c,v
diff -u -p -r1.105 engine.c
--- sbin/slaacd/engine.c 4 Aug 2026 12:48:01 -0000 1.105
+++ sbin/slaacd/engine.c 16 Oct 2026 12:07:35 -0000
@@ -1029,10 +1029,9 @@ iface_state_transition(struct slaacd_ifa
if_state_name(new_state), iface->timo.tv_sec);
}
- if (iface->timo.tv_sec == -1) {
- if (evtimer_pending(&iface->timer, NULL))
- evtimer_del(&iface->timer);
- } else
+ if (iface->timo.tv_sec == -1)
+ evtimer_del(&iface->timer);
+ else
evtimer_add(&iface->timer, &iface->timo);
}
@@ -1110,10 +1109,9 @@ void addr_proposal_state_transition(stru
proposal_state_name(new_state), addr_proposal->timo.tv_sec);
}
- if (addr_proposal->timo.tv_sec == -1) {
- if (evtimer_pending(&addr_proposal->timer, NULL))
- evtimer_del(&addr_proposal->timer);
- } else
+ if (addr_proposal->timo.tv_sec == -1)
+ evtimer_del(&addr_proposal->timer);
+ else
evtimer_add(&addr_proposal->timer, &addr_proposal->timo);
}
@@ -1186,10 +1184,9 @@ void dfr_proposal_state_transition(struc
proposal_state_name(new_state), dfr_proposal->timo.tv_sec);
}
- if (dfr_proposal->timo.tv_sec == -1) {
- if (evtimer_pending(&dfr_proposal->timer, NULL))
- evtimer_del(&dfr_proposal->timer);
- } else
+ if (dfr_proposal->timo.tv_sec == -1)
+ evtimer_del(&dfr_proposal->timer);
+ else
evtimer_add(&dfr_proposal->timer, &dfr_proposal->timo);
}
@@ -1263,10 +1260,9 @@ void rdns_proposal_state_transition(stru
proposal_state_name(new_state), rdns_proposal->timo.tv_sec);
}
- if (rdns_proposal->timo.tv_sec == -1) {
- if (evtimer_pending(&rdns_proposal->timer, NULL))
- evtimer_del(&rdns_proposal->timer);
- } else
+ if (rdns_proposal->timo.tv_sec == -1)
+ evtimer_del(&rdns_proposal->timer);
+ else
evtimer_add(&rdns_proposal->timer, &rdns_proposal->timo);
}
[PATCH 1/4] evtimer_del(): remove redundant pending checks in sbin/