diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2012-12-10 14:49:39 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2012-12-19 15:53:33 -0500 |
commit | 12677acf0a0bda4a863279ece65eccda6c36d6b1 (patch) | |
tree | c93e3cece76881ebfbc09747fc841db94f2797d5 /sysklogd/syslogd.c | |
parent | 393c395ca50d0b95003d5adfc6d1ca95763cc732 (diff) | |
download | busybox-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 'sysklogd/syslogd.c')
-rw-r--r-- | sysklogd/syslogd.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c index fc380d9f9..5854bcd0f 100644 --- a/sysklogd/syslogd.c +++ b/sysklogd/syslogd.c | |||
@@ -916,6 +916,7 @@ static void do_syslogd(void) | |||
916 | 916 | ||
917 | timestamp_and_log_internal("syslogd exiting"); | 917 | timestamp_and_log_internal("syslogd exiting"); |
918 | puts("syslogd exiting"); | 918 | puts("syslogd exiting"); |
919 | remove_pidfile(CONFIG_PID_FILE_PATH "/syslogd.pid"); | ||
919 | if (ENABLE_FEATURE_IPC_SYSLOG) | 920 | if (ENABLE_FEATURE_IPC_SYSLOG) |
920 | ipcsyslog_cleanup(); | 921 | ipcsyslog_cleanup(); |
921 | kill_myself_with_sig(bb_got_signal); | 922 | kill_myself_with_sig(bb_got_signal); |
@@ -979,8 +980,10 @@ int syslogd_main(int argc UNUSED_PARAM, char **argv) | |||
979 | if (!(opts & OPT_nofork)) { | 980 | if (!(opts & OPT_nofork)) { |
980 | bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv); | 981 | bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv); |
981 | } | 982 | } |
983 | |||
982 | //umask(0); - why?? | 984 | //umask(0); - why?? |
983 | write_pidfile("/var/run/syslogd.pid"); | 985 | write_pidfile(CONFIG_PID_FILE_PATH "/syslogd.pid"); |
986 | |||
984 | do_syslogd(); | 987 | do_syslogd(); |
985 | /* return EXIT_SUCCESS; */ | 988 | /* return EXIT_SUCCESS; */ |
986 | } | 989 | } |