← Commit list

3c8064ff6

Eric Andersen
Eric Andersen
2003-07-05
FAILED Duration: 87s

Subject

Daniel writes:

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

init/init.c+17 -1
@@ -661,7 +661,7 @@ static void init_reboot(unsigned long magic)
{
pid_t pid;
/* We have to fork here, since the kernel calls do_exit(0) in
- * linux/kernel/sys.c, which can cause the machint to panic when
+ * linux/kernel/sys.c, which can cause the machine to panic when
* the init process is killed.... */
if ((pid = fork()) == 0) {
#if (__GNU_LIBRARY__ > 5) || defined(__dietlibc__)
@@ -738,6 +738,22 @@ static void exec_signal(int sig)
sigaddset(&unblock_signals, SIGTSTP);
sigprocmask(SIG_UNBLOCK, &unblock_signals, NULL);
+ /* Open the new terminal device */
+ if ((device_open(a->terminal, O_RDWR)) < 0) {
+ if (stat(a->terminal, &sb) != 0) {
+ message(LOG | CONSOLE, "device '%s' does not exist.", a->terminal);
+ } else {
+ message(LOG | CONSOLE, "Bummer, can't open %s", a->terminal);
+ }
+ halt_signal(SIGUSR1);
+ }
+
+ /* Make sure the terminal will act fairly normal for us */
+ set_term(0);
+ /* Setup stdout, stderr on the supplied terminal */
+ dup(0);
+ dup(0);
+
messageD(CONSOLE | LOG, "Trying to re-exec %s", a->command);
execl(a->command, a->command, NULL);