diff options
Diffstat (limited to 'src/lread.c')
-rw-r--r-- | src/lread.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lread.c b/src/lread.c index cee6cf5a92e..cc3ae7627d1 100644 --- a/src/lread.c +++ b/src/lread.c @@ -329,18 +329,18 @@ readchar (readcharfun) { BLOCK_INPUT; c = getc (instream); - UNBLOCK_INPUT; #ifdef EINTR /* Interrupted reads have been observed while reading over the network */ while (c == EOF && ferror (instream) && errno == EINTR) { + UNBLOCK_INPUT; QUIT; - clearerr (instream); BLOCK_INPUT; + clearerr (instream); c = getc (instream); - UNBLOCK_INPUT; } #endif + UNBLOCK_INPUT; return c; } |