aboutsummaryrefslogtreecommitdiff
path: root/loginutils/getty.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-10-23 18:05:58 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2011-10-23 18:05:58 +0200
commitee320c6d9cd0781233ed599d743b4da94b4424a7 (patch)
treea7099036b3b64449d1bd153f79d776d0aefe6e12 /loginutils/getty.c
parente206a4de4c700230f3dc9fdaa101c6f4432e1c27 (diff)
downloadbusybox-ee320c6d9cd0781233ed599d743b4da94b4424a7.tar.gz
getty: reset tty attrs on Ctrl-C and Ctrl-D too
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'loginutils/getty.c')
-rw-r--r--loginutils/getty.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/loginutils/getty.c b/loginutils/getty.c
index 3496f0284..32735642b 100644
--- a/loginutils/getty.c
+++ b/loginutils/getty.c
@@ -465,6 +465,7 @@ static char *get_logname(void)
/* Do not report trivial EINTR/EIO errors */
errno = EINTR; /* make read of 0 bytes be silent too */
if (read(STDIN_FILENO, &c, 1) < 1) {
+ finalize_tty_attrs();
if (errno == EINTR || errno == EIO)
exit(EXIT_SUCCESS);
bb_perror_msg_and_die(bb_msg_read_error);
@@ -497,6 +498,7 @@ static char *get_logname(void)
}
break;
case CTL('D'):
+ finalize_tty_attrs();
exit(EXIT_SUCCESS);
default:
if ((unsigned char)c < ' ') {