sometimes daemonizing and vfork()/exit() is ok

This commit is contained in:
Mike Frysinger 2006-06-07 21:48:30 +00:00
parent ca70774293
commit 6fb5847faf

View File

@ -23,12 +23,9 @@
#ifdef BB_NOMMU
void vfork_daemon_rexec(int nochdir, int noclose,
int argc, char **argv, char *foreground_opt)
static void vfork_daemon_common(int nochdir, int noclose)
{
int fd;
char **vfork_args;
int a = 0;
setsid();
@ -41,7 +38,24 @@ void vfork_daemon_rexec(int nochdir, int noclose,
dup2(fd, STDERR_FILENO);
if (fd > 2)
close(fd);
}
}
}
void vfork_daemon(int nochdir, int noclose)
{
vfork_daemon_common(nochdir, noclose);
if (vfork())
exit(0);
}
void vfork_daemon_rexec(int nochdir, int noclose,
int argc, char **argv, char *foreground_opt)
{
char **vfork_args;
int a = 0;
vfork_daemon_common(nochdir, noclose);
vfork_args = xcalloc(sizeof(char *), argc + 3);
vfork_args[a++] = "/bin/busybox";