need to check for errno == EAGAIN in sexp_maybe_block_port

This commit is contained in:
Alex Shinn 2010-12-11 22:30:44 -08:00
parent 73d5083d10
commit d29eea3780

1
sexp.c
View file

@ -1632,6 +1632,7 @@ int sexp_maybe_block_port (sexp ctx, sexp in, int forcep) {
if (sexp_port_flags(in) & O_NONBLOCK) {
if (!forcep
&& (((c = sexp_read_char(ctx, in)) == EOF)
&& (errno == EAGAIN)
&& sexp_opcodep((f=sexp_global(ctx, SEXP_G_THREADS_BLOCKER))))) {
((sexp_proc2)sexp_opcode_func(f))(ctx sexp_api_pass(f, 1), in);
return 1;