12345678910111213141516171819202122232425262728293031323334 |
- 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++)
|