aboutsummaryrefslogtreecommitdiff
path: root/networking
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 /networking
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 'networking')
-rw-r--r--networking/ifplugd.c2
-rw-r--r--networking/inetd.c6
-rw-r--r--networking/ntpd.c3
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