diff options
Diffstat (limited to 'debianutils/start_stop_daemon.c')
-rw-r--r-- | debianutils/start_stop_daemon.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/debianutils/start_stop_daemon.c b/debianutils/start_stop_daemon.c index 0a0802575..665f38fbd 100644 --- a/debianutils/start_stop_daemon.c +++ b/debianutils/start_stop_daemon.c | |||
@@ -409,9 +409,7 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv) | |||
409 | /* DAEMON_DEVNULL_STDIO is superfluous - | 409 | /* DAEMON_DEVNULL_STDIO is superfluous - |
410 | * it's always done by bb_daemonize() */ | 410 | * it's always done by bb_daemonize() */ |
411 | #else | 411 | #else |
412 | pid_t pid = vfork(); | 412 | pid_t pid = xvfork(); |
413 | if (pid < 0) /* error */ | ||
414 | bb_perror_msg_and_die("vfork"); | ||
415 | if (pid != 0) { | 413 | if (pid != 0) { |
416 | /* parent */ | 414 | /* parent */ |
417 | /* why _exit? the child may have changed the stack, | 415 | /* why _exit? the child may have changed the stack, |
@@ -448,5 +446,5 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv) | |||
448 | } | 446 | } |
449 | #endif | 447 | #endif |
450 | execvp(startas, argv); | 448 | execvp(startas, argv); |
451 | bb_perror_msg_and_die("can't start %s", startas); | 449 | bb_perror_msg_and_die("can't execute '%s'", startas); |
452 | } | 450 | } |