Blob Blame History Raw
--- at-3.1.10/daemon.c.dontfork	2005-08-05 05:16:01.000000000 +0200
+++ at-3.1.10/daemon.c	2006-09-12 13:53:10.000000000 +0200
@@ -50,7 +50,8 @@
 
 static const char *svnid = "$Id$";
 
-int daemon_debug;
+int daemon_debug = 0;
+int daemon_nofork = 0;
 
 static int
 lock_fd(int fd)
@@ -119,15 +120,18 @@
 	    (open("/dev/null", O_RDWR) != 2)) {
 	    perr("Error redirecting I/O");
 	}
+    }
+    if (daemon_nofork) pid = getpid();
+    else {
 	pid = fork();
 	if (pid == -1) {
 	    perr("Cannot fork");
 	} else if (pid != 0) {
 	    exit(0);
 	}
+	(void) setsid();
     }
     old_umask = umask(S_IWGRP | S_IWOTH);
-    (void) setsid();
 
     PRIV_START
 
--- at-3.1.10/atd.8.in.dontfork	2005-08-29 10:08:51.000000000 +0200
+++ at-3.1.10/atd.8.in	2006-09-12 13:53:10.000000000 +0200
@@ -10,6 +10,7 @@
 .IR batch_interval ]
 .RB [ -d ]
 .RB [ -s ]
+.RB [ -n ]
 .SH DESCRIPTION
 .B atd
 runs jobs queued by
@@ -46,6 +47,9 @@
 is installed as
 .B @prefix@/sbin/atrun
 for backward compatibility.
+.TP 8
+.B -n
+Don't fork option.
 .SH WARNING
 .B atd
 won't work if its spool directory is mounted via NFS even if
--- at-3.1.10/daemon.h.dontfork	2005-08-05 05:16:01.000000000 +0200
+++ at-3.1.10/daemon.h	2006-09-12 13:54:43.000000000 +0200
@@ -14,3 +14,4 @@
 perr (const char *fmt, ...);
 
 extern int daemon_debug;
+extern int daemon_nofork;