|
Marcela Mašláňová |
1bd0c5 |
--- at-3.1.10/atd.c.dont_fork 2007-01-30 11:02:37.000000000 +0100
|
|
Marcela Mašláňová |
1bd0c5 |
+++ at-3.1.10/atd.c 2007-01-30 11:07:23.000000000 +0100
|
|
Marcela Mašláňová |
1bd0c5 |
@@ -1001,7 +1001,7 @@
|
|
Marcela Mašláňová |
1bd0c5 |
run_as_daemon = 1;
|
|
Marcela Mašláňová |
1bd0c5 |
batch_interval = BATCH_INTERVAL_DEFAULT;
|
|
Marcela Mašláňová |
1bd0c5 |
|
|
Marcela Mašláňová |
1bd0c5 |
- while ((c = getopt(argc, argv, "sdl:b:")) != EOF) {
|
|
Marcela Mašláňová |
1bd0c5 |
+ while ((c = getopt(argc, argv, "sdl:b:n")) != EOF) {
|
|
Marcela Mašláňová |
1bd0c5 |
switch (c) {
|
|
Marcela Mašláňová |
1bd0c5 |
case 'l':
|
|
Marcela Mašláňová |
1bd0c5 |
if (sscanf(optarg, "%lf", &load_avg) != 1)
|
|
Marcela Mašláňová |
1bd0c5 |
@@ -1014,10 +1014,15 @@
|
|
Marcela Mašláňová |
1bd0c5 |
if (sscanf(optarg, "%ud", &batch_interval) != 1)
|
|
Marcela Mašláňová |
1bd0c5 |
pabort("garbled option -b");
|
|
Marcela Mašláňová |
1bd0c5 |
break;
|
|
Marcela Mašláňová |
1bd0c5 |
+
|
|
Marcela Mašláňová |
1bd0c5 |
case 'd':
|
|
Marcela Mašláňová |
1bd0c5 |
daemon_debug++;
|
|
Marcela Mašláňová |
1bd0c5 |
+ /* go through another option*/
|
|
Marcela Mašláňová |
39d22f |
+
|
|
Marcela Mašláňová |
1bd0c5 |
+ case 'n':
|
|
Marcela Mašláňová |
1bd0c5 |
+ daemon_nofork++;
|
|
Marcela Mašláňová |
1bd0c5 |
break;
|
|
Marcela Mašláňová |
39d22f |
-
|
|
Marcela Mašláňová |
1bd0c5 |
+
|
|
Marcela Mašláňová |
1bd0c5 |
case 's':
|
|
Marcela Mašláňová |
39d22f |
run_as_daemon = 0;
|
|
Marcela Mašláňová |
39d22f |
break;
|
|
Marcela Mašláňová |
39d22f |
--- at-3.1.10/daemon.c.dont_fork 2005-08-05 05:16:01.000000000 +0200
|
|
Marcela Mašláňová |
1bd0c5 |
+++ at-3.1.10/daemon.c 2007-01-30 11:06:19.000000000 +0100
|
|
Marcela Mašláňová |
489143 |
@@ -50,7 +50,8 @@
|
|
Marcela Mašláňová |
489143 |
|
|
Marcela Mašláňová |
489143 |
static const char *svnid = "$Id$";
|
|
Marcela Mašláňová |
489143 |
|
|
Marcela Mašláňová |
489143 |
-int daemon_debug;
|
|
Marcela Mašláňová |
489143 |
+int daemon_debug = 0;
|
|
Marcela Mašláňová |
489143 |
+int daemon_nofork = 0;
|
|
Marcela Mašláňová |
489143 |
|
|
Marcela Mašláňová |
489143 |
static int
|
|
Marcela Mašláňová |
489143 |
lock_fd(int fd)
|
|
Marcela Mašláňová |
489143 |
@@ -119,15 +120,18 @@
|
|
Marcela Mašláňová |
489143 |
(open("/dev/null", O_RDWR) != 2)) {
|
|
Marcela Mašláňová |
489143 |
perr("Error redirecting I/O");
|
|
Marcela Mašláňová |
489143 |
}
|
|
Marcela Mašláňová |
489143 |
+ }
|
|
Marcela Mašláňová |
489143 |
+ if (daemon_nofork) pid = getpid();
|
|
Marcela Mašláňová |
489143 |
+ else {
|
|
Marcela Mašláňová |
489143 |
pid = fork();
|
|
Marcela Mašláňová |
489143 |
if (pid == -1) {
|
|
Marcela Mašláňová |
489143 |
perr("Cannot fork");
|
|
Marcela Mašláňová |
489143 |
} else if (pid != 0) {
|
|
Marcela Mašláňová |
489143 |
exit(0);
|
|
Marcela Mašláňová |
489143 |
}
|
|
Marcela Mašláňová |
489143 |
+ (void) setsid();
|
|
Marcela Mašláňová |
489143 |
}
|
|
Marcela Mašláňová |
489143 |
old_umask = umask(S_IWGRP | S_IWOTH);
|
|
Marcela Mašláňová |
489143 |
- (void) setsid();
|
|
Marcela Mašláňová |
489143 |
|
|
Marcela Mašláňová |
489143 |
PRIV_START
|
|
Marcela Mašláňová |
489143 |
|
|
Marcela Mašláňová |
39d22f |
--- at-3.1.10/daemon.h.dont_fork 2005-08-05 05:16:01.000000000 +0200
|
|
Marcela Mašláňová |
1bd0c5 |
+++ at-3.1.10/daemon.h 2007-01-30 11:07:54.000000000 +0100
|
|
Marcela Mašláňová |
489143 |
@@ -14,3 +14,4 @@
|
|
Marcela Mašláňová |
489143 |
perr (const char *fmt, ...);
|
|
Marcela Mašláňová |
489143 |
|
|
Marcela Mašláňová |
489143 |
extern int daemon_debug;
|
|
Marcela Mašláňová |
489143 |
+extern int daemon_nofork;
|
|
Marcela Mašláňová |
1bd0c5 |
--- at-3.1.8/atd.8.in.dontfork 2002-01-18 08:41:03.000000000 +0100
|
|
Marcela Mašláňová |
1bd0c5 |
+++ at-3.1.8/atd.8.in 2007-01-30 10:51:51.000000000 +0100
|
|
Marcela Mašláňová |
1bd0c5 |
@@ -10,6 +10,7 @@
|
|
Marcela Mašláňová |
1bd0c5 |
.IR batch_interval ]
|
|
Marcela Mašláňová |
1bd0c5 |
.RB [ -d ]
|
|
Marcela Mašláňová |
1bd0c5 |
.RB [ -s ]
|
|
Marcela Mašláňová |
1bd0c5 |
+.RB [ -n ]
|
|
Marcela Mašláňová |
1bd0c5 |
.SH DESCRIPTION
|
|
Marcela Mašláňová |
1bd0c5 |
.B atd
|
|
Marcela Mašláňová |
1bd0c5 |
runs jobs queued by
|
|
Marcela Mašláňová |
1bd0c5 |
@@ -46,6 +47,9 @@
|
|
Marcela Mašláňová |
1bd0c5 |
is installed as
|
|
Marcela Mašláňová |
1bd0c5 |
.B @prefix@/sbin/atrun
|
|
Marcela Mašláňová |
1bd0c5 |
for backward compatibility.
|
|
Marcela Mašláňová |
1bd0c5 |
+.TP 8
|
|
Marcela Mašláňová |
1bd0c5 |
+.B -n
|
|
Marcela Mašláňová |
1bd0c5 |
+Don't fork option.
|
|
Marcela Mašláňová |
1bd0c5 |
.SH WARNING
|
|
Marcela Mašláňová |
1bd0c5 |
.B atd
|
|
Marcela Mašláňová |
1bd0c5 |
won't work if its spool directory is mounted via NFS even if
|