Always scan for revision (again) as it's needed for the blame mails.
[amitay/build-farm.git] / timelimit.c
index 6e43544cd0351b226269585e62862cdf271618b1..7232ecf1610efbd5155759f3a61c24003149aa47 100644 (file)
@@ -36,16 +36,18 @@ static void sig_alrm_kill(int sig)
 
 static void sig_alrm_term(int sig)
 {
+       fprintf(stderr, "\nMaximum time expired in timelimit - sending TERM To child\n");
        kill(-child_pid, SIGTERM);
-       alarm(5);
        signal(SIGALRM, sig_alrm_kill);
+       alarm(5);
 }
 
 static void sig_term(int sig)
 {
+       fprintf(stderr, "\nReceived TERM/INT/QUIT signal\n");
        kill(-child_pid, SIGTERM);
-       alarm(1);
        signal(SIGALRM, sig_alrm_kill);
+       alarm(1);
 }
 
 static void sig_usr1(int sig)
@@ -92,7 +94,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;
                }