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