procd: Switch to nanosleep
authorRosen Penev <rosenp@gmail.com>
Sun, 1 Sep 2019 20:26:43 +0000 (13:26 -0700)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 20 Sep 2019 19:29:12 +0000 (21:29 +0200)
usleep has been deprecated by POSIX.1-2001 and removed in POSIX.1-2008.
Fixes compilation when libc does not include usleep (optional with
uClibc-ng).

nanosleep also has the advantage of being more accurate.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
initd/init.c

index 29eee5050cf969a98470c5dad46a03a8f68434f7..b253fb66f36174d7740d8e31c6d0a7cd73a10f99 100644 (file)
@@ -97,12 +97,13 @@ main(int argc, char **argv)
        if (pid <= 0) {
                ERROR("Failed to start kmodloader instance: %m\n");
        } else {
+               const struct timespec req = {0, 10 * 1000 * 1000};
                int i;
 
                for (i = 0; i < 1200; i++) {
                        if (waitpid(pid, NULL, WNOHANG) > 0)
                                break;
-                       usleep(10 * 1000);
+                       nanosleep(&req, NULL);
                        watchdog_ping();
                }
        }