aboutsummaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-09-13 16:15:29 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-09-13 16:15:29 +0000
commitf36f9b0d3611e92feb7a8009f2d02195674e8f85 (patch)
treeae11604a3e2f715ca56720a1b3593f54f9259ed3 /init
parente9ed3f48d262fbd30f63799ade87729d0bf4bac2 (diff)
downloadbusybox-w32-f36f9b0d3611e92feb7a8009f2d02195674e8f85.tar.gz
busybox-w32-f36f9b0d3611e92feb7a8009f2d02195674e8f85.tar.bz2
busybox-w32-f36f9b0d3611e92feb7a8009f2d02195674e8f85.zip
Ensure forked processes always are on a controlling tty, so the
^C can be properly sent to /dev/console. -Erik git-svn-id: svn://busybox.net/trunk/busybox@1043 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'init')
-rw-r--r--init/init.c3
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