| === modified file 'init/main.c' |
| --- init/main.c 2011-03-16 22:54:56 +0000 |
| +++ init/main.c 2011-08-08 21:09:43 +0000 |
| @@ -173,8 +173,23 @@ |
| * resetting it to sane defaults unless we're inheriting from another |
| * init process which we know left it in a sane state. |
| */ |
| - if (system_setup_console (CONSOLE_OUTPUT, (! restart)) < 0) |
| - nih_free (nih_error_get ()); |
| + if (system_setup_console (CONSOLE_OUTPUT, (! restart)) < 0) { |
| + NihError *err; |
| + |
| + err = nih_error_get (); |
| + nih_warn ("%s: %s", _("Unable to initialize console, will try /dev/null"), |
| + err->message); |
| + nih_free (err); |
| + |
| + if (system_setup_console (CONSOLE_NONE, FALSE) < 0) { |
| + err = nih_error_get (); |
| + nih_fatal ("%s: %s", _("Unable to initialize console as /dev/null"), |
| + err->message); |
| + nih_free (err); |
| + |
| + exit (1); |
| + } |
| + } |
| |
| /* Set the PATH environment variable */ |
| setenv ("PATH", PATH, TRUE); |
| @@ -316,8 +331,16 @@ |
| /* Now that the startup is complete, send all further logging output |
| * to kmsg instead of to the console. |
| */ |
| - if (system_setup_console (CONSOLE_NONE, FALSE) < 0) |
| - nih_free (nih_error_get ()); |
| + if (system_setup_console (CONSOLE_NONE, FALSE) < 0) { |
| + NihError *err; |
| + |
| + err = nih_error_get (); |
| + nih_fatal ("%s: %s", _("Unable to setup standard file descriptors"), |
| + err->message); |
| + nih_free (err); |
| + |
| + exit (1); |
| + } |
| |
| nih_log_set_logger (logger_kmsg); |
| #endif /* DEBUG */ |
| |