Remove wheel submodule - will re-add later with new URL
[dmon:dmon.git] / nofork.c
1 /*
2  * nofork.c
3  * Copyright (C) 2010 Adrian Perez <aperez@igalia.com>
4  *
5  * Distributed under terms of the MIT license.
6  */
7
8 #include <sys/types.h>
9 #include <stdlib.h>
10 #include <unistd.h>
11 #include <fcntl.h>
12
13
14 pid_t
15 fork (void)
16 {
17     return 0;
18 }
19
20
21 int
22 daemon (int nochdir, int noclose)
23 {
24     if (!nochdir == 0) {
25         if (chdir ("/"))
26             return -1;
27     }
28     if (!noclose) {
29         close (0);
30         if (open ("/dev/null", O_RDONLY, 0) != 0)
31             return -1;
32         close (1);
33         if (open ("/dev/null", O_WRONLY, 0) != 1)
34             return -1;
35         close (2);
36         if (dup (1) != 2)
37             return -1;
38     }
39     return 0;
40 }
41
42