diff -Naur busybox.orig/runit/Config.in busybox/runit/Config.in
--- busybox.orig/runit/Config.in	2008-09-04 19:44:11 +0000
+++ busybox/runit/Config.in	2008-09-22 18:54:01 +0000
@@ -20,6 +20,13 @@
 	  a directory, in the services directory dir, up to a limit of 1000
 	  subdirectories, and restarts a runsv process if it terminates.
 
+config FEATURE_RUNSVDIR_LOG
+	bool "Enable periodic timestamp logging"
+	depends on RUNSVDIR
+	default n
+	help
+	  Weird badly documented feature.
+
 config SV
 	bool "sv"
 	default n
diff -Naur busybox.orig/runit/runsvdir.c busybox/runit/runsvdir.c
--- busybox.orig/runit/runsvdir.c	2008-09-12 18:59:08 +0000
+++ busybox/runit/runsvdir.c	2008-09-22 18:59:14 +0000
@@ -45,24 +45,28 @@
 struct globals {
 	struct service *sv;
 	char *svdir;
-	char *rplog;
 	int svnum;
+USE_FEATURE_RUNSVDIR_LOG (
+	char *rplog;
 	int rploglen;
 	struct fd_pair logpipe;
 	struct pollfd pfd[1];
 	unsigned stamplog;
+)
 	smallint check; /* = 1; */
 	smallint set_pgrp;
 };
 #define G (*(struct globals*)&bb_common_bufsiz1)
 #define sv        (G.sv        )
 #define svdir     (G.svdir     )
-#define rplog     (G.rplog     )
 #define svnum     (G.svnum     )
-#define rploglen  (G.rploglen  )
-#define logpipe   (G.logpipe   )
-#define pfd       (G.pfd       )
-#define stamplog  (G.stamplog  )
+USE_FEATURE_RUNSVDIR_LOG (
+#	define rplog     (G.rplog     )
+#	define rploglen  (G.rploglen  )
+#	define logpipe   (G.logpipe   )
+#	define pfd       (G.pfd       )
+#	define stamplog  (G.stamplog  )
+)
 #define check     (G.check     )
 #define set_pgrp  (G.set_pgrp  )
 #define INIT_G() do { \
@@ -82,10 +86,12 @@
 {
 	warn3x("cannot ", m1, m2);
 }
+#if ENABLE_FEATURE_RUNSVDIR_LOG
 static void warnx(const char *m1)
 {
 	warn3x(m1, "", "");
 }
+#endif
 
 static void runsv(int no, const char *name)
 {
@@ -192,31 +198,6 @@
 	}
 }
 
-static int setup_log(void)
-{
-	rploglen = strlen(rplog);
-	if (rploglen < 7) {
-		warnx("log must have at least seven characters");
-		return 0;
-	}
-	if (piped_pair(logpipe)) {
-		warnx("cannot create pipe for log");
-		return -1;
-	}
-	close_on_exec_on(logpipe.rd);
-	close_on_exec_on(logpipe.wr);
-	ndelay_on(logpipe.rd);
-	ndelay_on(logpipe.wr);
-	if (dup2(logpipe.wr, 2) == -1) {
-		warnx("cannot set filedescriptor for log");
-		return -1;
-	}
-	pfd[0].fd = logpipe.rd;
-	pfd[0].events = POLLIN;
-	stamplog = monotonic_sec();
-	return 1;
-}
-
 int runsvdir_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int runsvdir_main(int argc UNUSED_PARAM, char **argv)
 {
@@ -230,7 +211,6 @@
 	unsigned deadline;
 	unsigned now;
 	unsigned stampcheck;
-	char ch;
 	int i;
 
 	INIT_G();
@@ -241,13 +221,35 @@
 
 	bb_signals_recursive((1 << SIGTERM) | (1 << SIGHUP), record_signo);
 	svdir = *argv++;
-	if (argv && *argv) {
+
+#if ENABLE_FEATURE_RUNSVDIR_LOG
+	/* setup log */
+	if (argv[0] && argv[0][0]) {
 		rplog = *argv;
-		if (setup_log() != 1) {
-			rplog = 0;
-			warnx("log service disabled");
+		rploglen = strlen(rplog);
+		if (rploglen < 7) {
+			warnx("log must have at least seven characters");
+		} else if (piped_pair(logpipe)) {
+			warnx("cannot create pipe for log");
+		} else {
+			close_on_exec_on(logpipe.rd);
+			close_on_exec_on(logpipe.wr);
+			ndelay_on(logpipe.rd);
+			ndelay_on(logpipe.wr);
+			if (dup2(logpipe.wr, 2) == -1) {
+				warnx("cannot set filedescriptor for log");
+			} else {
+				pfd.fd = logpipe.rd;
+				pfd.events = POLLIN;
+				stamplog = monotonic_sec();
+				goto run;
+			}
 		}
+		rplog = 0;
+		warnx("log service disabled");
 	}
+run:
+#endif
 	curdir = open_read(".");
 	if (curdir == -1)
 		fatal2_cannot("open current directory", "");
@@ -300,23 +302,28 @@
 				warn2_cannot("stat ", svdir);
 		}
 
+#if ENABLE_FEATURE_RUNSVDIR_LOG
 		if (rplog) {
 			if ((int)(now - stamplog) >= 0) {
 				write(logpipe.wr, ".", 1);
 				stamplog = now + 900;
 			}
 		}
-
 		pfd[0].revents = 0;
+#endif
 		sig_block(SIGCHLD);
 		deadline = (check ? 1 : 5);
+#if ENABLE_FEATURE_RUNSVDIR_LOG
 		if (rplog)
 			poll(pfd, 1, deadline*1000);
 		else
+#endif
 			sleep(deadline);
 		sig_unblock(SIGCHLD);
 
+#if ENABLE_FEATURE_RUNSVDIR_LOG
 		if (pfd[0].revents & POLLIN) {
+			char ch;
 			while (read(logpipe.rd, &ch, 1) > 0) {
 				if (ch) {
 					for (i = 6; i < rploglen; i++)
@@ -325,7 +332,7 @@
 				}
 			}
 		}
-
+#endif
 		switch (bb_got_signal) {
 		case SIGHUP:
 			for (i = 0; i < svnum; i++)
