diff --git a/sexp.c b/sexp.c index 9ead8341..06e5c3ef 100644 --- a/sexp.c +++ b/sexp.c @@ -2091,6 +2091,7 @@ int sexp_maybe_block_port (sexp ctx, sexp in, int forcep) { && (((c = sexp_read_char(ctx, in)) == EOF) && sexp_port_stream(in) && ferror(sexp_port_stream(in)) && (errno == EAGAIN))) { + clearerr(sexp_port_stream(in)); f = sexp_global(ctx, SEXP_G_THREADS_BLOCKER); if (sexp_opcodep(f)) { ((sexp_proc2)sexp_opcode_func(f))(ctx, f, 1, in);