summaryrefslogtreecommitdiffstats
path: root/package/irda-utils/irda-utils-0.9.18-daemon.patch
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++)