From a8991ccc1e846aed9a8f1ba0ebcd2771b623f241 Mon Sep 17 00:00:00 2001 From: Pip Cet Date: Mon, 22 Jul 2019 03:49:54 +0000 Subject: [PATCH] Don't retry reading after receiving EINVAL (bug#6074) * src/process.c (wait_reading_process_output): Don't retry reading from an fd after an unknown error. --- src/process.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/process.c b/src/process.c index abadabe77e..9104a392c8 100644 --- a/src/process.c +++ b/src/process.c @@ -5270,14 +5270,16 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, /* If data can be read from the process, do so until exhausted. */ if (wait_proc->infd >= 0) { + unsigned int count = 0; XSETPROCESS (proc, wait_proc); while (true) { int nread = read_process_output (proc, wait_proc->infd); + rarely_quit (++count); if (nread < 0) { - if (errno == EIO || would_block (errno)) + if (errno != EINTR) break; } else -- 2.22.0