better error handling
diff --git a/src/libthread/fdwait.c b/src/libthread/fdwait.c index 5dd7e86..927fc64 100644 --- a/src/libthread/fdwait.c +++ b/src/libthread/fdwait.c
@@ -233,8 +233,9 @@ threadfdnoblock(fd); again: + errno = 0; nn = read(fd, a, n); - if(nn < 0){ + if(nn <= 0){ if(errno == EINTR) goto again; if(errno == EAGAIN || errno == EWOULDBLOCK){