Bump to version 1.22.1
[platform/upstream/busybox.git] / miscutils / timeout.c
index f6e655a..9d56593 100644 (file)
  * rewrite  14-11-2008 vda
  */
 
+//usage:#define timeout_trivial_usage
+//usage:       "[-t SECS] [-s SIG] PROG ARGS"
+//usage:#define timeout_full_usage "\n\n"
+//usage:       "Runs PROG. Sends SIG to it if it is not gone in SECS seconds.\n"
+//usage:       "Defaults: SECS: 10, SIG: TERM."
+
 #include "libbb.h"
 
 int timeout_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
@@ -71,9 +77,7 @@ int timeout_main(int argc UNUSED_PARAM, char **argv)
        sv1 = argv[optind];
        sv2 = argv[optind + 1];
 #endif
-       pid = vfork();
-       if (pid < 0)
-               bb_perror_msg_and_die("vfork");
+       pid = xvfork();
        if (pid == 0) {
                /* Child: spawn grandchild and exit */
                parent = getppid();
@@ -85,7 +89,7 @@ int timeout_main(int argc UNUSED_PARAM, char **argv)
                bb_daemonize_or_rexec(0, argv);
                /* Here we are grandchild. Sleep, then kill grandparent */
  grandchild:
-               /* Just sleep(NUGE_NUM); kill(parent) may kill wrong process! */
+               /* Just sleep(HUGE_NUM); kill(parent) may kill wrong process! */
                while (1) {
                        sleep(1);
                        if (--timeout <= 0)