diff --git a/src/util.c b/src/util.c index 59fd3d1c..5803f6d9 100644 --- a/src/util.c +++ b/src/util.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include /* sysinfo() */ #include /* strlcat() */ @@ -105,7 +106,11 @@ int strtobytes(char *arg) void do_sleep(unsigned int sec) { - while ((sec = sleep(sec))) + struct timespec requested_sleep = { + .tv_sec = sec, + .tv_nsec = 0, + }; + while (nanosleep(&requested_sleep, &requested_sleep)) ; }