Cope with unknown hosts in dead host list.
[amitay/build-farm.git] / timelimit.c
index 32e58f52498cb8b514ced302ccaf9e7c93108f49..1d938073f0dbede38ecb01031ad55136a791f13c 100644 (file)
@@ -23,6 +23,8 @@ static void usage(void)
        printf("             after 5s SIGKILL will be passed and exit(1)\n");
        printf("   SIGTERM - passes SIGTERM to command's process group\n");
        printf("             after 1s SIGKILL will be passed and exit(1)\n");
+       printf("   SIGINT  - handled like SIGTERM\n");
+       printf("   SIGQUIT - handled like SIGTERM\n");
 }
 
 static void sig_alrm_kill(int sig)
@@ -80,6 +82,8 @@ int main(int argc, char *argv[])
        }
 
        signal(SIGTERM, sig_term);
+       signal(SIGINT,  sig_term);
+       signal(SIGQUIT, sig_term);
        signal(SIGUSR1, sig_usr1);
        signal(SIGALRM, sig_alrm_term);
        alarm(maxtime);
@@ -88,7 +92,9 @@ int main(int argc, char *argv[])
                int status;
                pid_t pid = wait(&status);
                if (pid != -1) {
-                       ret = WEXITSTATUS(status);
+                       if (WIFEXITED(status)) {
+                               ret = WEXITSTATUS(status);
+                       }
                } else if (errno == ECHILD) {
                        break;
                }