60 lines
1.3 KiB
Diff
60 lines
1.3 KiB
Diff
|
--- 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;
|