From cb839522902d3db508c34703a385baabfdd9baa5 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Fri, 24 Mar 2023 07:37:31 +0100 Subject: fix timer update bug --- wlock.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/wlock.c b/wlock.c index 2cdf153..ae8f153 100644 --- a/wlock.c +++ b/wlock.c @@ -460,10 +460,10 @@ main(int argc, char *argv[]) fds[2].fd = timerfd_create(CLOCK_MONOTONIC, 0); fds[2].events = POLLIN; - spec.it_interval.tv_sec = 1; - spec.it_value.tv_nsec = 1; + update_time(); + spec.it_value.tv_sec = 1; + spec.it_value.tv_nsec = 0; timerfd_settime(fds[2].fd, 0, &spec, 0); - spec.it_interval.tv_nsec = 0; while (running) { if (wl_display_flush(client.display) < 0) { @@ -493,6 +493,9 @@ main(int argc, char *argv[]) if (fds[2].revents & POLLIN) { update_time(); + spec.it_value.tv_sec = 1; + spec.it_value.tv_nsec = 0; + timerfd_settime(fds[2].fd, 0, &spec, 0); } } -- cgit v1.2.3-70-g09d2