]> diplodocus.org Git - nmh/blobdiff - test/runpty.c
mhparse.h: Add externs for preferred_types[], etc.
[nmh] / test / runpty.c
index 4ceb1feeb11000dc173ed6a77318402a64d698df..1585df94b832404036f27946887ba26d0edf5a7f 100644 (file)
@@ -24,7 +24,7 @@ int
 main(int argc, char *argv[])
 {
     int master_in, master_out, slave, cc, status;
 main(int argc, char *argv[])
 {
     int master_in, master_out, slave, cc, status;
-    time_t starttime;
+    time_t starttime, now;
     const char *slavename;
     pid_t child;
     unsigned char readbuf[1024];
     const char *slavename;
     pid_t child;
     unsigned char readbuf[1024];
@@ -114,6 +114,8 @@ main(int argc, char *argv[])
        execvp(argv[2], argv + 2);
 
        fprintf(stderr, "execvp(%s) failed: %s\n", argv[2], strerror(errno));
        execvp(argv[2], argv + 2);
 
        fprintf(stderr, "execvp(%s) failed: %s\n", argv[2], strerror(errno));
+       exit(1);
+
     } else if (child < 0) {
        fprintf(stderr, "fork() failed: %s\n", strerror(errno));
        exit(1);
     } else if (child < 0) {
        fprintf(stderr, "fork() failed: %s\n", strerror(errno));
        exit(1);
@@ -167,8 +169,10 @@ main(int argc, char *argv[])
            }
        }
 
            }
        }
 
-       if (time(NULL) >= starttime + COMMAND_TIMEOUT) {
-           fprintf(stderr, "Command execution timed out\n");
+        now = time(NULL);
+       if (now >= starttime + COMMAND_TIMEOUT) {
+           fprintf(stderr, "Command execution timed out: %ld to %ld: %d\n",
+                starttime, now, cc);
            break;
        }
     }
            break;
        }
     }