sometimes daemonizing and vfork()/exit() is ok
This commit is contained in:
parent
ca70774293
commit
6fb5847faf
@ -23,12 +23,9 @@
|
|||||||
|
|
||||||
|
|
||||||
#ifdef BB_NOMMU
|
#ifdef BB_NOMMU
|
||||||
void vfork_daemon_rexec(int nochdir, int noclose,
|
static void vfork_daemon_common(int nochdir, int noclose)
|
||||||
int argc, char **argv, char *foreground_opt)
|
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
char **vfork_args;
|
|
||||||
int a = 0;
|
|
||||||
|
|
||||||
setsid();
|
setsid();
|
||||||
|
|
||||||
@ -41,7 +38,24 @@ void vfork_daemon_rexec(int nochdir, int noclose,
|
|||||||
dup2(fd, STDERR_FILENO);
|
dup2(fd, STDERR_FILENO);
|
||||||
if (fd > 2)
|
if (fd > 2)
|
||||||
close(fd);
|
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 = xcalloc(sizeof(char *), argc + 3);
|
||||||
vfork_args[a++] = "/bin/busybox";
|
vfork_args[a++] = "/bin/busybox";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user