aboutsummaryrefslogtreecommitdiff
path: root/miscutils/watchdog.c
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2012-12-10 14:49:39 -0500
committerMike Frysinger <vapier@gentoo.org>2012-12-19 15:53:33 -0500
commit12677acf0a0bda4a863279ece65eccda6c36d6b1 (patch)
treec93e3cece76881ebfbc09747fc841db94f2797d5 /miscutils/watchdog.c
parent393c395ca50d0b95003d5adfc6d1ca95763cc732 (diff)
downloadbusybox-w32-12677acf0a0bda4a863279ece65eccda6c36d6b1.tar.gz
busybox-w32-12677acf0a0bda4a863279ece65eccda6c36d6b1.tar.bz2
busybox-w32-12677acf0a0bda4a863279ece65eccda6c36d6b1.zip
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/watchdog.c')
-rw-r--r--miscutils/watchdog.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c
index ee28dc30d..d3a76edf0 100644
--- a/miscutils/watchdog.c
+++ b/miscutils/watchdog.c
@@ -31,6 +31,7 @@ static void watchdog_shutdown(int sig UNUSED_PARAM)
31{ 31{
32 static const char V = 'V'; 32 static const char V = 'V';
33 33
34 remove_pidfile(CONFIG_PID_FILE_PATH "/watchdog.pid");
34 write(3, &V, 1); /* Magic, see watchdog-api.txt in kernel */ 35 write(3, &V, 1); /* Magic, see watchdog-api.txt in kernel */
35 if (ENABLE_FEATURE_CLEAN_UP) 36 if (ENABLE_FEATURE_CLEAN_UP)
36 close(3); 37 close(3);
@@ -95,6 +96,8 @@ int watchdog_main(int argc, char **argv)
95 stimer_duration, htimer_duration * 1000); 96 stimer_duration, htimer_duration * 1000);
96#endif 97#endif
97 98
99 write_pidfile(CONFIG_PID_FILE_PATH "/watchdog.pid");
100
98 while (1) { 101 while (1) {
99 /* 102 /*
100 * Make sure we clear the counter before sleeping, 103 * Make sure we clear the counter before sleeping,