From f98a3dd0e4ca11d1d0fbcd631536a60f33f89fa0 Mon Sep 17 00:00:00 2001 From: Babak Farrokhi Date: Sun, 13 Sep 2015 12:06:28 +0430 Subject: [PATCH] - fix timer logic --- ifstatd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ifstatd.c b/ifstatd.c index b2beed7..476a769 100644 --- a/ifstatd.c +++ b/ifstatd.c @@ -134,16 +134,16 @@ int config(char *iface) } time_t wait_for(int seconds) { + struct timespec tp; clock_gettime(CLOCK_REALTIME, &tp); time_t current_epoch = tp.tv_sec; - long nsec_to_sleep = (1000*1000*1000 - tp.tv_nsec) * seconds; - + long nsec_to_sleep = 1000*1000*1000 - tp.tv_nsec; /* Only sleep if needed */ if (nsec_to_sleep > 0) { - tp.tv_sec = 0; + tp.tv_sec = seconds - 1; tp.tv_nsec = nsec_to_sleep; nanosleep(&tp, NULL); }