procd: replace exit(-1) with exit(EXIT_FAILURE)
[project/procd.git] / initd / init.c
index 0349e6e9d77ef57288a10108326b2f8a43499d8a..9b4782608e1a7a9f411eaacfa9b97b2d6b3fe89c 100644 (file)
@@ -77,6 +77,7 @@ main(int argc, char **argv)
        sigaction(SIGTERM, &sa_shutdown, NULL);
        sigaction(SIGUSR1, &sa_shutdown, NULL);
        sigaction(SIGUSR2, &sa_shutdown, NULL);
+       sigaction(SIGPWR, &sa_shutdown, NULL);
 
        early();
        cmdline();
@@ -91,17 +92,18 @@ main(int argc, char **argv)
 
                execvp(kmod[0], kmod);
                ERROR("Failed to start kmodloader: %m\n");
-               exit(-1);
+               exit(EXIT_FAILURE);
        }
        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();
                }
        }