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 /networking | |
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 'networking')
-rw-r--r-- | networking/ifplugd.c | 2 | ||||
-rw-r--r-- | networking/inetd.c | 6 | ||||
-rw-r--r-- | networking/ntpd.c | 3 |
3 files changed, 6 insertions, 5 deletions
diff --git a/networking/ifplugd.c b/networking/ifplugd.c index 88bf448fa..86586f0fe 100644 --- a/networking/ifplugd.c +++ b/networking/ifplugd.c | |||
@@ -551,7 +551,7 @@ int ifplugd_main(int argc UNUSED_PARAM, char **argv) | |||
551 | applet_name = xasprintf("ifplugd(%s)", G.iface); | 551 | applet_name = xasprintf("ifplugd(%s)", G.iface); |
552 | 552 | ||
553 | #if ENABLE_FEATURE_PIDFILE | 553 | #if ENABLE_FEATURE_PIDFILE |
554 | pidfile_name = xasprintf(_PATH_VARRUN"ifplugd.%s.pid", G.iface); | 554 | pidfile_name = xasprintf(CONFIG_PID_FILE_PATH "/ifplugd.%s.pid", G.iface); |
555 | pid_from_pidfile = read_pid(pidfile_name); | 555 | pid_from_pidfile = read_pid(pidfile_name); |
556 | 556 | ||
557 | if (opts & FLAG_KILL) { | 557 | if (opts & FLAG_KILL) { |
diff --git a/networking/inetd.c b/networking/inetd.c index 00baf6971..584c5e5e4 100644 --- a/networking/inetd.c +++ b/networking/inetd.c | |||
@@ -186,8 +186,6 @@ | |||
186 | #define ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN 0 | 186 | #define ENABLE_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN 0 |
187 | #endif | 187 | #endif |
188 | 188 | ||
189 | #define _PATH_INETDPID "/var/run/inetd.pid" | ||
190 | |||
191 | #define CNT_INTERVAL 60 /* servers in CNT_INTERVAL sec. */ | 189 | #define CNT_INTERVAL 60 /* servers in CNT_INTERVAL sec. */ |
192 | #define RETRYTIME 60 /* retry after bind or server fail */ | 190 | #define RETRYTIME 60 /* retry after bind or server fail */ |
193 | 191 | ||
@@ -1132,7 +1130,7 @@ static void clean_up_and_exit(int sig UNUSED_PARAM) | |||
1132 | if (ENABLE_FEATURE_CLEAN_UP) | 1130 | if (ENABLE_FEATURE_CLEAN_UP) |
1133 | close(sep->se_fd); | 1131 | close(sep->se_fd); |
1134 | } | 1132 | } |
1135 | remove_pidfile(_PATH_INETDPID); | 1133 | remove_pidfile(CONFIG_PID_FILE_PATH "/inetd.pid"); |
1136 | exit(EXIT_SUCCESS); | 1134 | exit(EXIT_SUCCESS); |
1137 | } | 1135 | } |
1138 | 1136 | ||
@@ -1181,7 +1179,7 @@ int inetd_main(int argc UNUSED_PARAM, char **argv) | |||
1181 | setgroups(1, &gid); | 1179 | setgroups(1, &gid); |
1182 | } | 1180 | } |
1183 | 1181 | ||
1184 | write_pidfile(_PATH_INETDPID); | 1182 | write_pidfile(CONFIG_PID_FILE_PATH "/inetd.pid"); |
1185 | 1183 | ||
1186 | /* never fails under Linux (except if you pass it bad arguments) */ | 1184 | /* never fails under Linux (except if you pass it bad arguments) */ |
1187 | getrlimit(RLIMIT_NOFILE, &rlim_ofile); | 1185 | getrlimit(RLIMIT_NOFILE, &rlim_ofile); |
diff --git a/networking/ntpd.c b/networking/ntpd.c index 5b92db6f6..7facf9484 100644 --- a/networking/ntpd.c +++ b/networking/ntpd.c | |||
@@ -2080,6 +2080,8 @@ int ntpd_main(int argc UNUSED_PARAM, char **argv) | |||
2080 | */ | 2080 | */ |
2081 | cnt = G.peer_cnt * (INITIAL_SAMPLES + 1); | 2081 | cnt = G.peer_cnt * (INITIAL_SAMPLES + 1); |
2082 | 2082 | ||
2083 | write_pidfile(CONFIG_PID_FILE_PATH "/ntpd.pid"); | ||
2084 | |||
2083 | while (!bb_got_signal) { | 2085 | while (!bb_got_signal) { |
2084 | llist_t *item; | 2086 | llist_t *item; |
2085 | unsigned i, j; | 2087 | unsigned i, j; |
@@ -2195,6 +2197,7 @@ int ntpd_main(int argc UNUSED_PARAM, char **argv) | |||
2195 | } | 2197 | } |
2196 | } /* while (!bb_got_signal) */ | 2198 | } /* while (!bb_got_signal) */ |
2197 | 2199 | ||
2200 | remove_pidfile(CONFIG_PID_FILE_PATH "/ntpd.pid"); | ||
2198 | kill_myself_with_sig(bb_got_signal); | 2201 | kill_myself_with_sig(bb_got_signal); |
2199 | } | 2202 | } |
2200 | 2203 | ||