diff options
-rw-r--r-- | initd/main.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/initd/main.c b/initd/main.c index d8319ea..b83beb3 100644 --- a/initd/main.c +++ b/initd/main.c @@ -64,6 +64,14 @@ static svc_run_data_t *wait_for_process(void) do { pid = wait(&status); + if (pid == -1) { + if (errno == EINTR) + return NULL; + + if (errno == ECHILD) + exit(EXIT_FAILURE); + } + rt = config_rt_data_by_pid(pid); } while (rt == NULL); |