tmux: remove redundant event_del/evtimer_del calls
Bjorn Ketelaars <[email protected]> Thu, 6 Aug 2026 13:25:42 +0200
| Newsgroups | gmane.os.openbsd.tech |
|---|---|
| Message-ID | <[email protected]> |
While reading event_add(3), I noticed: "If the event in the ev argument
already has a scheduled timeout, the old timeout will be replaced by the
new one."
I grepped base for calls to event_del()/evtimer_del() immediately before
event_add()/evtimer_add() and found several redundant deletions in tmux.
Since event_add() handles pending events internally, these extra calls
can be removed.
OK?
diff --git usr.bin/tmux/input.c usr.bin/tmux/input.c
index ecf07dd617c..b13c7c33590 100644
--- usr.bin/tmux/input.c
+++ usr.bin/tmux/input.c
@@ -827,7 +827,6 @@ input_start_ground_timer(struct input_ctx *ictx)
{
struct timeval tv = { .tv_sec = 5, .tv_usec = 0 };
- event_del(&ictx->ground_timer);
event_add(&ictx->ground_timer, &tv);
}
@@ -3503,7 +3502,6 @@ input_start_request_timer(struct input_ctx *ictx)
{
struct timeval tv = { .tv_sec = 0, .tv_usec = 100000 };
- event_del(&ictx->request_timer);
event_add(&ictx->request_timer, &tv);
}
diff --git usr.bin/tmux/server-client.c usr.bin/tmux/server-client.c
index 27b7688fe5f..1d7de6b5549 100644
--- usr.bin/tmux/server-client.c
+++ usr.bin/tmux/server-client.c
@@ -1140,7 +1140,6 @@ have_event:
log_debug("click timer started");
tv.tv_sec = KEYC_CLICK_TIMEOUT / 1000;
tv.tv_usec = (KEYC_CLICK_TIMEOUT % 1000) * 1000L;
- evtimer_del(&c->click_timer);
evtimer_add(&c->click_timer, &tv);
}
}
@@ -1580,7 +1579,6 @@ try_again:
tv.tv_sec = repeat / 1000;
tv.tv_usec = (repeat % 1000) * 1000L;
- evtimer_del(&c->repeat_timer);
evtimer_add(&c->repeat_timer, &tv);
} else {
c->flags &= ~CLIENT_REPEAT;
diff --git usr.bin/tmux/tty.c usr.bin/tmux/tty.c
index 4f2c6a33eab..ad5035460b1 100644
--- usr.bin/tmux/tty.c
+++ usr.bin/tmux/tty.c
@@ -324,7 +324,6 @@ tty_start_start_timer(struct tty *tty)
struct timeval tv = { .tv_sec = TTY_QUERY_TIMEOUT };
log_debug("%s: start timer started", c->name);
- evtimer_del(&tty->start_timer);
evtimer_add(&tty->start_timer, &tv);
}
diff --git usr.bin/tmux/window.c usr.bin/tmux/window.c
index 5067ab5960a..c7fc1b0e73d 100644
--- usr.bin/tmux/window.c
+++ usr.bin/tmux/window.c
@@ -2508,7 +2508,6 @@ window_pane_scrollbar_start_timer(struct window_pane *wp)
"pane-scrollbars-timeout");
tv.tv_sec = delay / 1000;
tv.tv_usec = (delay % 1000) * 1000L;
- evtimer_del(&wp->sb_auto_timer);
evtimer_add(&wp->sb_auto_timer, &tv);
}