summaryrefslogtreecommitdiff
path: root/miscutils
diff options
context:
space:
mode:
authorAnthony G. Basile2012-12-10 14:49:39 -0500
committerMike Frysinger2012-12-19 15:53:33 -0500
commit12677acf0a0bda4a863279ece65eccda6c36d6b1 (patch)
treec93e3cece76881ebfbc09747fc841db94f2797d5 /miscutils
parent393c395ca50d0b95003d5adfc6d1ca95763cc732 (diff)
downloadbusybox-12677acf0a0bda4a863279ece65eccda6c36d6b1.zip
busybox-12677acf0a0bda4a863279ece65eccda6c36d6b1.tar.gz
CONFIG_PID_FILE_PATH: new configuration option for pidfile paths
We set a default path for the directory where pidfiles are create when FEATURE_PIDFILE is selected. The default has no effect on applets which must specify a pidfile path on the command line to run, and it can be overridden by applets which optionally allow the user to specify the pidfile path. We also add pidfile write/remove support for klogd, ntpd and watchdog. For syslogd, we add a missing remove_pidfile() for better cleanup on daemon exit. Signed-off-by: Anthony G. Basile <blueness@gentoo.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'miscutils')
-rw-r--r--miscutils/crond.c2
-rw-r--r--miscutils/watchdog.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/miscutils/crond.c b/miscutils/crond.c
index a0b73c7..582dc99 100644
--- a/miscutils/crond.c
+++ b/miscutils/crond.c
@@ -885,7 +885,7 @@ int crond_main(int argc UNUSED_PARAM, char **argv)
xsetenv("SHELL", DEFAULT_SHELL); /* once, for all future children */
crondlog(LVL8 "crond (busybox "BB_VER") started, log level %d", G.log_level);
rescan_crontab_dir();
- write_pidfile("/var/run/crond.pid");
+ write_pidfile(CONFIG_PID_FILE_PATH "/crond.pid");
/* Main loop */
t2 = time(NULL);
diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c
index ee28dc3..d3a76ed 100644
--- a/miscutils/watchdog.c
+++ b/miscutils/watchdog.c
@@ -31,6 +31,7 @@ static void watchdog_shutdown(int sig UNUSED_PARAM)
{
static const char V = 'V';
+ remove_pidfile(CONFIG_PID_FILE_PATH "/watchdog.pid");
write(3, &V, 1); /* Magic, see watchdog-api.txt in kernel */
if (ENABLE_FEATURE_CLEAN_UP)
close(3);
@@ -95,6 +96,8 @@ int watchdog_main(int argc, char **argv)
stimer_duration, htimer_duration * 1000);
#endif
+ write_pidfile(CONFIG_PID_FILE_PATH "/watchdog.pid");
+
while (1) {
/*
* Make sure we clear the counter before sleeping,