From: Eric Andersen Date: Wed, 13 Sep 2000 16:15:29 +0000 (-0000) Subject: Ensure forked processes always are on a controlling tty, so the X-Git-Tag: 0_47~83 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fb6a50820cb973becc2f590aaf3979c183e33e0e;p=oweals%2Fbusybox.git Ensure forked processes always are on a controlling tty, so the ^C can be properly sent to /dev/console. -Erik --- diff --git a/init.c b/init.c index b532ea88f..b3ae97d2e 100644 --- a/init.c +++ b/init.c @@ -411,6 +411,7 @@ static pid_t run(char *command, char *terminal, int get_enter) if ((pid = fork()) == 0) { /* Clean up */ + ioctl(0, TIOCNOTTY, 0); close(0); close(1); close(2); @@ -430,7 +431,7 @@ static pid_t run(char *command, char *terminal, int get_enter) dup2(fd, 0); dup2(fd, 1); dup2(fd, 2); - ioctl(0, TIOCSCTTY, 0); + ioctl(0, TIOCSCTTY, 1); tcsetpgrp(0, getpgrp()); set_term(0); diff --git a/init/init.c b/init/init.c index b532ea88f..b3ae97d2e 100644 --- a/init/init.c +++ b/init/init.c @@ -411,6 +411,7 @@ static pid_t run(char *command, char *terminal, int get_enter) if ((pid = fork()) == 0) { /* Clean up */ + ioctl(0, TIOCNOTTY, 0); close(0); close(1); close(2); @@ -430,7 +431,7 @@ static pid_t run(char *command, char *terminal, int get_enter) dup2(fd, 0); dup2(fd, 1); dup2(fd, 2); - ioctl(0, TIOCSCTTY, 0); + ioctl(0, TIOCSCTTY, 1); tcsetpgrp(0, getpgrp()); set_term(0);