blob: f6034a75b446473e28636d3499c41f06db2713df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
written by Mike Frysinger
https://sourceforge.net/tracker/?func=detail&aid=3132053&group_id=5616&atid=305616
Rather than using the fork function (which doesnt work on nommu
systems), simply use the daemon() function instead (which does
work). this should work the same before and after for all systems.
--- a/irattach/util.c
+++ b/irattach/util.c
@@ -156,21 +156,10 @@
void fork_now(int ttyfd)
{
- int ret;
int i;
- if ((ret = fork()) > 0)
- exit(0);
-
- if (ret == -1)
- syslog(LOG_INFO, "forking: %m");
- if (setsid() < 0)
- syslog(LOG_INFO, "detaching from tty: %m");
-
- if ((ret = fork()) > 0) {
- /* cleanup_files = 0; */
- exit(0);
- }
+ if (daemon(1, 1))
+ syslog(LOG_INFO, "daemon: %m");
/* Close all open inherited files! Except for ttyfd! */
for (i = 0; i < 64; i++)
|