kitten @: Fix occasional hang until key is pressed while waiting for response from terminal

Fixes #5890
This commit is contained in:
Kovid Goyal
2023-01-18 16:07:42 +05:30
parent 68a006444e
commit 22532b4805

View File

@@ -54,11 +54,16 @@ func read_from_tty(pipe_r *os.File, term *tty.Term, results_channel chan<- []byt
const bufsize = 2 * utils.DEFAULT_IO_BUFFER_SIZE
wait_for_read_available := func() {
_, err := selector.WaitForever()
if err != nil {
err_channel <- err
keep_going = false
return
for {
n, err := selector.WaitForever()
if err != nil {
err_channel <- err
keep_going = false
return
}
if n > 0 {
break
}
}
if selector.IsReadyToRead(pipe_fd) {
keep_going = false