summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--conf.d/rc12
-rw-r--r--man/start-stop-daemon.89
-rw-r--r--src/librc-misc.c12
-rw-r--r--src/start-stop-daemon.c4
5 files changed, 21 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index ff6945c..9f9f9d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
02 May 2007; Roy Marples <uberlord@gentoo.org>:
+ SSD_NICELEVEL can now affect the nicelevel for daemons started
+ by start-stop-daemon, #175397.
+
Don't delete addresses for PPP interfaces, #176764.
30 Apr 2007; Roy Marples <uberlord@gentoo.org>:
diff --git a/conf.d/rc b/conf.d/rc
index 8ea03b4..9e3998c 100644
--- a/conf.d/rc
+++ b/conf.d/rc
@@ -74,15 +74,8 @@ RC_FORCE_AUTO="no"
# really want them to work on a global basis.
# Some daemons are started and stopped via start-stop-daemon.
-# We can launch them through other daemons here, for example valgrind.
-# This is only useful for serious debugging of the daemon
-# WARNING: If the script's "stop" function does not supply a PID file then
-# all processes using the same daemon will be killed.
-#RC_DAEMON="/usr/bin/valgrind --tool=memcheck --log-file=/tmp/valgrind.syslog-ng"
-
-# strace needs to be prefixed with --background as it does not detach when
-# it's following
-#RC_DAEMON="--background /usr/sbin/strace -f -o /tmp/strace.syslog-ng"
+# We can set some things on a per service basis, like the nicelevel.
+#export SSD_NICELEVEL="-19"
# Pass ulimit parameters
#RC_ULIMIT="-u 30"
@@ -91,3 +84,4 @@ RC_FORCE_AUTO="no"
#RC_NEED="openvpn"
#RC_USE="net.eth0"
+
diff --git a/man/start-stop-daemon.8 b/man/start-stop-daemon.8
index 0120395..ab9bc9c 100644
--- a/man/start-stop-daemon.8
+++ b/man/start-stop-daemon.8
@@ -200,16 +200,17 @@ will force
to fork before starting the process, and force it into the background.
.TP
\fB-1\fP|\fB--stdout\fP \fIlogfile\fP
-Redirect the standard output of the process to \fIlogfile\fP when started with \fB--background\fP.
-Must be an absolute pathname, but relative to the \fIpath\fP optionally given with
-\fB--chroot\fP.
+Redirect the standard output of the process to \fIlogfile\fP when started with
+\fB--background\fP. Must be an absolute pathname, but relative to the
+\fIpath\fP optionally given with \fB--chroot\fP.
Hint: The \fIlogfile\fP can also be a named pipe.
.TP
\fB-2\fP|\fB--stderr\fP \fIlogfile\fP
The same thing as \fB--stdout\fP but with the standard error output.
.TP
.BR -N | --nicelevel
-This alters the prority of the process before starting it.
+This alters the prority of the process before starting it. This can also be set
+by the environment variable \fBSSD_NICELEVEL\fR.
.TP
.BR -m | --make-pidfile
Used when starting a program that does not create its own pid file. This
diff --git a/src/librc-misc.c b/src/librc-misc.c
index a2b38b4..36d9b31 100644
--- a/src/librc-misc.c
+++ b/src/librc-misc.c
@@ -6,14 +6,14 @@
#include "librc.h"
-#define ERRX eerrorx("out of memory");
+#define ERRX eerrorx("out of memory");
-#define PROFILE_ENV "/etc/profile.env"
-#define SYS_WHITELIST RC_LIBDIR "conf.d/env_whitelist"
-#define USR_WHITELIST "/etc/conf.d/env_whitelist"
-#define RC_CONFIG "/etc/conf.d/rc"
+#define PROFILE_ENV "/etc/profile.env"
+#define SYS_WHITELIST RC_LIBDIR "conf.d/env_whitelist"
+#define USR_WHITELIST "/etc/conf.d/env_whitelist"
+#define RC_CONFIG "/etc/conf.d/rc"
-#define PATH_PREFIX RC_LIBDIR "bin:/bin:/sbin:/usr/bin:/usr/sbin"
+#define PATH_PREFIX RC_LIBDIR "bin:/bin:/sbin:/usr/bin:/usr/sbin"
#ifndef S_IXUGO
# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
diff --git a/src/start-stop-daemon.c b/src/start-stop-daemon.c
index f4f0f99..62973dc 100644
--- a/src/start-stop-daemon.c
+++ b/src/start-stop-daemon.c
@@ -537,6 +537,10 @@ int main (int argc, char **argv)
signal (SIGQUIT, handle_signal);
signal (SIGTERM, handle_signal);
+ if ((env = getenv ("SSD_NICELEVEL")))
+ if (sscanf (env, "%d", &nicelevel) != 1)
+ eerror ("%s: invalid nice level `%s' (SSD_NICELEVEL)", progname, env);
+
while ((c = getopt_long (argc, argv,
"KN:R:Sbc:d:g:mn:op:qs:tu:r:vx:1:2:",
longopts, (int *) 0)) != -1)