summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortgoodwin <tgoodwin>1998-10-21 12:52:57 +0000
committerToby Goodwin <toby@paccrat.org>2015-05-16 21:23:11 +0100
commitb45bc7e88f3468121d8be516dc861e6fe45ab720 (patch)
tree6b546cb8373519057beb8dd98976392e06ccbaf7
parented7d22829d82dba9714c6b7a5fdf37a95c05a269 (diff)
don't include <setjmp.h> here
handle non-blocking stdin, etc.
-rw-r--r--input.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/input.c b/input.c
index 3f832a2..1c7f6e8 100644
--- a/input.c
+++ b/input.c
@@ -1,7 +1,6 @@
/* input.c: i/o routines for files and pseudo-files (strings) */
#include <errno.h>
-#include <setjmp.h>
#include "rc.h"
#include "jbwrap.h"
@@ -122,6 +121,10 @@ system, you lose. */
do {
r = rc_read(istack->fd, inbuf + 2, BUFSIZE);
sigchk();
+ if (errno == EAGAIN) {
+ makenonblock(istack->fd);
+ errno = EINTR;
+ }
} while (r < 0 && errno == EINTR);
if (r < 0) {
uerror("read");