summaryrefslogtreecommitdiff
path: root/init/init.c
diff options
context:
space:
mode:
authorEric Andersen1999-11-26 08:12:56 +0000
committerEric Andersen1999-11-26 08:12:56 +0000
commit4c78147755fa3193269d665cae49410f529b2094 (patch)
tree4e7f867d6517643b35df03e5ec684719a41baa68 /init/init.c
parentec33d45e8939bc8ab186489e64da3650e402a171 (diff)
downloadbusybox-4c78147755fa3193269d665cae49410f529b2094.zip
busybox-4c78147755fa3193269d665cae49410f529b2094.tar.gz
Changes
Diffstat (limited to 'init/init.c')
-rw-r--r--init/init.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/init/init.c b/init/init.c
index 75a6599..7258d31 100644
--- a/init/init.c
+++ b/init/init.c
@@ -40,6 +40,9 @@
#include <linux/serial.h> /* for serial_struct */
#include <sys/vt.h> /* for vt_stat */
#include <sys/ioctl.h>
+#ifdef BB_SYSLOGD
+#include <sys/syslog.h>
+#endif
#define DEV_CONSOLE "/dev/console" /* Logical system console */
#define VT_PRIMARY "/dev/tty1" /* Primary virtual console */
@@ -83,8 +86,20 @@ int device_open(char *device, int mode)
void message(int device, char *fmt, ...)
{
int fd;
- static int log_fd=-1;
va_list arguments;
+#ifdef BB_SYSLOGD
+
+ /* Log the message to syslogd */
+ if (device & LOG ) {
+ char msg[1024];
+ va_start(arguments, fmt);
+ vsnprintf(msg, sizeof(msg), fmt, arguments);
+ va_end(arguments);
+ syslog(LOG_DAEMON|LOG_NOTICE, msg);
+ }
+
+#else
+ static int log_fd=-1;
/* Take full control of the log tty, and never close it.
* It's mine, all mine! Muhahahaha! */
@@ -102,12 +117,13 @@ void message(int device, char *fmt, ...)
return;
}
}
-
if ( (device & LOG) && (log_fd >= 0) ) {
va_start(arguments, fmt);
vdprintf(log_fd, fmt, arguments);
va_end(arguments);
}
+#endif
+
if (device & CONSOLE) {
/* Always send console messages to /dev/console so people will see them. */
if ((fd = device_open(DEV_CONSOLE, O_WRONLY|O_NOCTTY|O_NDELAY)) >= 0) {
@@ -433,8 +449,9 @@ extern int init_main(int argc, char **argv)
const char* const shell_command[] = { SHELL, "-" SHELL, 0};
const char* const* tty0_command = shell_command;
const char* const* tty1_command = shell_command;
-#ifdef BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS
- const char* const rc_exit_command[] = BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS;
+#ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS
+ const char* const rc_exit_command[] = { "BB_INIT_CMD_IF_RC_SCRIPT_EXITS",
+ "BB_INIT_CMD_IF_RC_SCRIPT_EXITS", 0 };
#endif
#ifdef DEBUG_INIT
@@ -536,7 +553,7 @@ extern int init_main(int argc, char **argv)
if (run_rc == FALSE) {
pid1 = 0;
}
-#ifdef BB_CONSOLE_CMD_IF_RC_SCRIPT_EXITS
+#ifdef BB_INIT_CMD_IF_RC_SCRIPT_EXITS
else {
pid1 = 0;
run_rc=FALSE;