- add libbb function str_tolower to convert a string to lowercase.
[oweals/busybox.git] / miscutils / setsid.c
index 47c44d2cc278dc01eba9bf3a24251a2f53e1bca8..1abb54530ee3c8abc749040ebd7e6c738a2e9804 100644 (file)
 
 #include "busybox.h"
 
-int setsid_main(int argc, char *argv[])
+int setsid_main(int argc, char **argv);
+int setsid_main(int argc, char **argv)
 {
        if (argc < 2)
                bb_show_usage();
 
-       if (getpgrp() == getpid()) {
-               switch (fork()) {
-               case -1:
-                       bb_perror_msg_and_die("fork");
-               case 0:
-                       break;
-               default:        /* parent */
-                       exit(0);
-               }
-       }
-       /* child */
+       /* Comment why is this necessary? */
+       if (getpgrp() == getpid())
+               forkexit_or_rexec(argv);
 
        setsid();  /* no error possible */
 
-       execvp(argv[1], argv + 1);
-
+       BB_EXECVP(argv[1], argv + 1);
        bb_perror_msg_and_die("%s", argv[1]);
 }