less: fix newly-introduced case of less spinning forever
on pty's closed etc
This commit is contained in:
parent
028eab61bc
commit
64974793b9
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user