From 8badd4957ab4ed53ecdc1be2642281eb95310b42 Mon Sep 17 00:00:00 2001 From: fengzero Date: Tue, 25 Oct 2022 06:50:17 +0000 Subject: [PATCH] chore(timer): wait timer end --- src/event/event_linux.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/event/event_linux.c b/src/event/event_linux.c index d1448d3c..b35256bb 100644 --- a/src/event/event_linux.c +++ b/src/event/event_linux.c @@ -103,7 +103,10 @@ static void *event_loop(void *arg) assert(size != -1); nng_mtx_lock(data->ctx.timer->mtx); + epoll_ctl(epoll_fd, EPOLL_CTL_DEL, data->fd, NULL); ret = data->callback.timer(data->usr_data); + timerfd_settime(data->fd, 0, &data->ctx.timer->value, NULL); + epoll_ctl(epoll_fd, EPOLL_CTL_ADD, data->fd, &event); nng_mtx_unlock(data->ctx.timer->mtx); } break;