diff options
Diffstat (limited to 'miscutils/setsid.c')
-rw-r--r-- | miscutils/setsid.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/miscutils/setsid.c b/miscutils/setsid.c index 6db07be..c878f52 100644 --- a/miscutils/setsid.c +++ b/miscutils/setsid.c @@ -22,21 +22,12 @@ 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 */ BB_EXECVP(argv[1], argv + 1); - bb_perror_msg_and_die("%s", argv[1]); } |