mirror of
https://kernel.googlesource.com/pub/scm/network/tftp/tftp-hpa
synced 2025-04-26 01:49:52 +03:00

The source code was a mix of different styles; normalize on NASM style; basically K&R style with 4 space indentation.
36 lines
586 B
C
36 lines
586 B
C
/*
|
|
* daemon.c - "daemonize" a process
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
int daemon(int nochdir, int noclose)
|
|
{
|
|
int nullfd;
|
|
pid_t f;
|
|
|
|
if (!nochdir) {
|
|
if (chdir("/"))
|
|
return -1;
|
|
}
|
|
|
|
if (!noclose) {
|
|
if ((nullfd = open("/dev/null", O_RDWR)) < 0 ||
|
|
dup2(nullfd, 0) < 0 ||
|
|
dup2(nullfd, 1) < 0 || dup2(nullfd, 2) < 0)
|
|
return -1;
|
|
close(nullfd);
|
|
}
|
|
|
|
f = fork();
|
|
if (f < 0)
|
|
return -1;
|
|
else if (f > 0)
|
|
_exit(0);
|
|
|
|
#ifdef HAVE_SETSID
|
|
return setsid();
|
|
#else
|
|
return 0;
|
|
#endif
|
|
}
|