From 82604e973085f91f1b99cacea08963d0d1468084 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Tue, 1 Jul 2008 15:59:42 +0000 Subject: revert last two commits. vfork cannot be used in subroutine, it trashes stack on return --- debianutils/start_stop_daemon.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'debianutils') diff --git a/debianutils/start_stop_daemon.c b/debianutils/start_stop_daemon.c index f10572d..459fb77 100644 --- a/debianutils/start_stop_daemon.c +++ b/debianutils/start_stop_daemon.c @@ -404,7 +404,9 @@ int start_stop_daemon_main(int argc ATTRIBUTE_UNUSED, char **argv) /* DAEMON_DEVNULL_STDIO is superfluous - * it's always done by bb_daemonize() */ #else - pid_t pid = xvfork(); + pid_t pid = vfork(); + if (pid < 0) /* error */ + bb_perror_msg_and_die("vfork"); if (pid != 0) { /* parent */ /* why _exit? the child may have changed the stack, -- cgit v1.1