diff options
| author | Eric Andersen <andersen@codepoet.org> | 2000-09-13 16:15:29 +0000 |
|---|---|---|
| committer | Eric Andersen <andersen@codepoet.org> | 2000-09-13 16:15:29 +0000 |
| commit | fb6a50820cb973becc2f590aaf3979c183e33e0e (patch) | |
| tree | ae11604a3e2f715ca56720a1b3593f54f9259ed3 /init | |
| parent | d39d12099805ff4e0bb8841e951fc758d9b517c7 (diff) | |
| download | busybox-w32-fb6a50820cb973becc2f590aaf3979c183e33e0e.tar.gz busybox-w32-fb6a50820cb973becc2f590aaf3979c183e33e0e.tar.bz2 busybox-w32-fb6a50820cb973becc2f590aaf3979c183e33e0e.zip | |
Ensure forked processes always are on a controlling tty, so the
^C can be properly sent to /dev/console.
-Erik
Diffstat (limited to 'init')
| -rw-r--r-- | init/init.c | 3 |
1 files changed, 2 insertions, 1 deletions
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) | |||
| 411 | 411 | ||
| 412 | if ((pid = fork()) == 0) { | 412 | if ((pid = fork()) == 0) { |
| 413 | /* Clean up */ | 413 | /* Clean up */ |
| 414 | ioctl(0, TIOCNOTTY, 0); | ||
| 414 | close(0); | 415 | close(0); |
| 415 | close(1); | 416 | close(1); |
| 416 | close(2); | 417 | close(2); |
| @@ -430,7 +431,7 @@ static pid_t run(char *command, char *terminal, int get_enter) | |||
| 430 | dup2(fd, 0); | 431 | dup2(fd, 0); |
| 431 | dup2(fd, 1); | 432 | dup2(fd, 1); |
| 432 | dup2(fd, 2); | 433 | dup2(fd, 2); |
| 433 | ioctl(0, TIOCSCTTY, 0); | 434 | ioctl(0, TIOCSCTTY, 1); |
| 434 | tcsetpgrp(0, getpgrp()); | 435 | tcsetpgrp(0, getpgrp()); |
| 435 | set_term(0); | 436 | set_term(0); |
| 436 | 437 | ||
