From e23052af8fb88e90e88f59671af5264d12eb7686 Mon Sep 17 00:00:00 2001 From: vda Date: Mon, 26 Mar 2007 13:35:09 +0000 Subject: Attempt to get more applets compile for NOMMU. TODO_config_nommu documents what I managed to compile so far (yay! msh works! cool). inetd, telnetd, httpd still do not compile. TODO Also make fork(), daemon() produce warnings on compile stage (in addition to erros on link stage). git-svn-id: svn://busybox.net/trunk/busybox@18245 69ca8d6d-28ef-0310-b511-8ec308f3f277 --- runit/sv.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'runit') diff --git a/runit/sv.c b/runit/sv.c index 051e64e67..d52eb6d22 100644 --- a/runit/sv.c +++ b/runit/sv.c @@ -310,21 +310,16 @@ static int checkscript(void) return 0; } /* if (!(s.st_mode & S_IXUSR)) return 1; */ - if ((pid = fork()) == -1) { - bb_perror_msg(WARN"cannot fork for %s/check", *service); + prog[0] = (char*)"./check"; + prog[1] = NULL; + pid = spawn(prog); + if (pid <= 0) { + bb_perror_msg(WARN"cannot %s child %s/check", "run", *service); return 0; } - if (!pid) { - prog[0] = (char*)"./check"; - prog[1] = NULL; - close(1); - execve("check", prog, environ); - bb_perror_msg(WARN"cannot run %s/check", *service); - _exit(0); - } while (wait_pid(&w, pid) == -1) { if (errno == EINTR) continue; - bb_perror_msg(WARN"cannot wait for child %s/check", *service); + bb_perror_msg(WARN"cannot %s child %s/check", "wait for", *service); return 0; } return !wait_exitcode(w); -- cgit v1.2.3-55-g6feb