From: Pip Cet Date: Mon, 14 Sep 2020 13:18:52 +0000 (+0200) Subject: Don't retry reading after receiving EINVAL X-Git-Tag: emacs-28.0.90~6064 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=312da4871925b9a575c5e3bffd4bf4db4c1108da;p=emacs.git Don't retry reading after receiving EINVAL * src/process.c (wait_reading_process_output): Don't retry reading from an fd after an unknown error (bug#6074). --- diff --git a/src/process.c b/src/process.c index 3aa105ae342..53f4a1d8530 100644 --- a/src/process.c +++ b/src/process.c @@ -5413,14 +5413,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