diff options
author | Anthony G. Basile | 2012-12-10 14:49:39 -0500 |
---|---|---|
committer | Mike Frysinger | 2012-12-19 15:53:33 -0500 |
commit | 12677acf0a0bda4a863279ece65eccda6c36d6b1 (patch) | |
tree | c93e3cece76881ebfbc09747fc841db94f2797d5 /miscutils | |
parent | 393c395ca50d0b95003d5adfc6d1ca95763cc732 (diff) | |
download | busybox-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.c | 2 | ||||
-rw-r--r-- | miscutils/watchdog.c | 3 |
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, |