summaryrefslogtreecommitdiff
path: root/src/lread.c
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2007-03-28 08:16:19 +0000
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2007-03-28 08:16:19 +0000
commitcd83514ad334724c8e467a603ecf2864eb89a4ca (patch)
treeb205e3e3d4a39e16e0a1de661cffa7ac20a32c0d /src/lread.c
parent2f213514dfe35d154c853df85a0169a7bb851f3e (diff)
downloademacs-cd83514ad334724c8e467a603ecf2864eb89a4ca.tar.gz
(readchar): Extend BLOCK_INPUT block to ferror/clearerr.
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lread.c b/src/lread.c
index 30aab7cce32..1f1ddddde4f 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -327,18 +327,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;
}