diff options
author | Mystery Man <unknown@mandriva.org> | 2001-05-14 13:50:02 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2001-05-14 13:50:02 +0000 |
commit | 307b99f54bd4ff16de91c4d191cf1cf5bd4e2669 (patch) | |
tree | afb96786d841a84044ff729a29af859c62fdc588 /mdk-stage1/dietlibc/libugly/daemon.c | |
parent | 3e3a822d182adc09a3969f4f37489c07755c52f8 (diff) | |
download | drakx-backup-do-not-use-307b99f54bd4ff16de91c4d191cf1cf5bd4e2669.tar drakx-backup-do-not-use-307b99f54bd4ff16de91c4d191cf1cf5bd4e2669.tar.gz drakx-backup-do-not-use-307b99f54bd4ff16de91c4d191cf1cf5bd4e2669.tar.bz2 drakx-backup-do-not-use-307b99f54bd4ff16de91c4d191cf1cf5bd4e2669.tar.xz drakx-backup-do-not-use-307b99f54bd4ff16de91c4d191cf1cf5bd4e2669.zip |
This commit was manufactured by cvs2svn to create branch 'dietlibc'.
Diffstat (limited to 'mdk-stage1/dietlibc/libugly/daemon.c')
-rw-r--r-- | mdk-stage1/dietlibc/libugly/daemon.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/libugly/daemon.c b/mdk-stage1/dietlibc/libugly/daemon.c new file mode 100644 index 000000000..6748cc3c9 --- /dev/null +++ b/mdk-stage1/dietlibc/libugly/daemon.c @@ -0,0 +1,35 @@ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <unistd.h> +#include <paths.h> + +#include "daemon.h" + +int daemon (int nochdir,int noclose) +{ + int fd; + switch (fork ()) + { + case -1: + return (-1); + case 0: + break; + default: + _exit (0); + } + if (setsid () == -1) + return (-1); + if (!nochdir) chdir ("/"); + if (!noclose) + { + fd = open (_PATH_DEVNULL,O_RDWR,0); + if (fd == -1) return (-1); + dup2 (fd,STDIN_FILENO); + dup2 (fd,STDOUT_FILENO); + dup2 (fd,STDERR_FILENO); + close (fd); + } + return (0); +} + |