From cccaabfad5e7c349e53bf168ffd025f71f72a830 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Tue, 4 Sep 2018 21:22:33 +0200 Subject: [PATCH] Don't call uev_timer_set() when stopping timer, just close() it The semantics for timerfd in Linux is to use close() to stop, so no need for the extra overhead with uev_timer_set(). Signed-off-by: Joachim Nilsson --- src/timer.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/timer.c b/src/timer.c index fddd5fc..a3f3ddd 100644 --- a/src/timer.c +++ b/src/timer.c @@ -170,17 +170,12 @@ int uev_timer_start(uev_t *w) */ int uev_timer_stop(uev_t *w) { - /* Check if already stopped in uev_run() after cb() or _init() */ if (!_uev_watcher_active(w)) return 0; - /* Stop kernel timer */ - uev_timer_set(w, 0, 0); - if (_uev_watcher_stop(w)) return -1; - /* Close timerfd, will have to be reopened again on reset */ close(w->fd); w->fd = -1;