diff options
-rw-r--r-- | miscutils/less.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/miscutils/less.c b/miscutils/less.c index b5d225a..6c793ad 100644 --- a/miscutils/less.c +++ b/miscutils/less.c @@ -853,12 +853,16 @@ static ssize_t getch_nowait(void) /* We have kbd_fd in O_NONBLOCK mode, read inside read_key() * would not block even if there is no input available */ rd = read_key(kbd_fd, NULL, input); - if (rd == -1 && errno == EAGAIN) { - /* No keyboard input available. Since poll() did return, - * we should have input on stdin */ - read_lines(); - buffer_fill_and_print(); - goto again; + if (rd == -1) { + if (errno == EAGAIN) { + /* No keyboard input available. Since poll() did return, + * we should have input on stdin */ + read_lines(); + buffer_fill_and_print(); + goto again; + } + /* EOF/error (ssh session got killed etc) */ + less_exit(0); } set_tty_cooked(); return rd; |