From 2cb55077e2f65f17dbc8933eec47760bcc2a6ba1 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 10 Dec 1999 08:25:07 +0000 Subject: Added poweroff (and adjusted init to use it). Inlined function calls to code only called once in tee. Made BB_KLOGD and option. -Erik --- init/init.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'init/init.c') diff --git a/init/init.c b/init/init.c index d2e9a7e97..3c800b9b2 100644 --- a/init/init.c +++ b/init/init.c @@ -336,9 +336,9 @@ static pid_t run(const char * const* command, } /* Log the process name and args */ - message(LOG, "Starting pid %d, console %s: '", getpid(), terminal); - while ( *cmd) message(LOG, "%s ", *cmd++); - message(LOG, "'\r\n"); + message(LOG|CONSOLE, "Starting pid %d, console %s: '", getpid(), terminal); + while ( *cmd) message(LOG|CONSOLE, "%s ", *cmd++); + message(LOG|CONSOLE, "'\r\n"); /* Now run it. The new program will take over this PID, * so nothing further in init.c should be run. */ @@ -418,8 +418,10 @@ static void halt_signal(int sig) "The system is halted. Press CTRL-ALT-DEL or turn off power\r\n"); sync(); #ifndef DEBUG_INIT - reboot(RB_HALT_SYSTEM); - //reboot(RB_POWER_OFF); + if (sig == SIGUSR2) + reboot(RB_POWER_OFF); + else + reboot(RB_HALT_SYSTEM); #endif exit(0); } @@ -514,8 +516,11 @@ extern int init_main(int argc, char **argv) } else message(CONSOLE|LOG, "Mounting /proc: failed!\n"); +fprintf(stderr, "got proc\n"); + /* Make sure there is enough memory to do something useful. */ check_memory(); +fprintf(stderr, "got check_memory\n"); /* Check if we are supposed to be in single user mode */ if ( argc > 1 && (!strcmp(argv[1], "single") || @@ -524,6 +529,7 @@ extern int init_main(int argc, char **argv) tty1_command = shell_command; tty2_command = shell_command; } +fprintf(stderr, "got single\n"); /* Make sure an init script exists before trying to run it */ if (single==FALSE && stat(INITSCRIPT, &statbuf)==0) { @@ -535,6 +541,7 @@ extern int init_main(int argc, char **argv) /* Make sure /sbin/getty exists before trying to run it */ if (stat(GETTY, &statbuf)==0) { char* where; +fprintf(stderr, "\n"); wait_for_enter_tty2 = FALSE; where = strrchr( console, '/'); if ( where != NULL) { -- cgit v1.2.3