mirror of
https://git.busybox.net/busybox.git
synced 2024-12-04 02:53:25 +08:00
sometimes daemonizing and vfork()/exit() is ok
This commit is contained in:
parent
ca70774293
commit
6fb5847faf
@ -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";
|
||||
|
Loading…
Reference in New Issue
Block a user