diff options
author | rsc <devnull@localhost> | 2004-04-21 22:47:01 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-04-21 22:47:01 +0000 |
commit | 2b4b2ae19107f2c7e45ca6ab6f73c9c8a5fb84dd (patch) | |
tree | 18f85b571adf4289ba2bc269a4c8e0f658bb6b43 | |
parent | 63b67323012151914b3e1915580c512524b470c5 (diff) | |
download | plan9port-2b4b2ae19107f2c7e45ca6ab6f73c9c8a5fb84dd.tar.gz plan9port-2b4b2ae19107f2c7e45ca6ab6f73c9c8a5fb84dd.tar.bz2 plan9port-2b4b2ae19107f2c7e45ca6ab6f73c9c8a5fb84dd.zip |
better error handling
-rw-r--r-- | src/libthread/fdwait.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libthread/fdwait.c b/src/libthread/fdwait.c index 5dd7e868..927fc64f 100644 --- a/src/libthread/fdwait.c +++ b/src/libthread/fdwait.c @@ -233,8 +233,9 @@ threadread(int fd, void *a, long n) 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){ |