diff options
author | jb <jb@FreeBSD.org> | 1998-06-14 09:36:14 +0000 |
---|---|---|
committer | jb <jb@FreeBSD.org> | 1998-06-14 09:36:14 +0000 |
commit | 3a45fc35f91e4e30fc366f0ea40376b137c13873 (patch) | |
tree | 7db059344e5ba6275a79d137007fee06ffe81f11 /lib/libkse/thread | |
parent | cc3e00bf7a256405c793961d149b36ca8d09e57a (diff) | |
download | FreeBSD-src-3a45fc35f91e4e30fc366f0ea40376b137c13873.zip FreeBSD-src-3a45fc35f91e4e30fc366f0ea40376b137c13873.tar.gz |
If a short write, only loop if no error.
Diffstat (limited to 'lib/libkse/thread')
-rw-r--r-- | lib/libkse/thread/thr_write.c | 4 | ||||
-rw-r--r-- | lib/libkse/thread/thr_writev.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/libkse/thread/thr_write.c b/lib/libkse/thread/thr_write.c index 9732031..7aad66b1 100644 --- a/lib/libkse/thread/thr_write.c +++ b/lib/libkse/thread/thr_write.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: uthread_write.c,v 1.7 1998/06/09 23:21:04 jb Exp $ + * $Id: uthread_write.c,v 1.8 1998/06/10 22:28:45 jb Exp $ * */ #include <sys/types.h> @@ -94,7 +94,7 @@ write(int fd, const void *buf, size_t nbytes) * write: */ if (blocking && ((n < 0 && (errno == EWOULDBLOCK || - errno == EAGAIN)) || num < nbytes)) { + errno == EAGAIN)) || (n >= 0 && num < nbytes))) { _thread_run->data.fd.fd = fd; _thread_kern_set_timeout(NULL); diff --git a/lib/libkse/thread/thr_writev.c b/lib/libkse/thread/thr_writev.c index f5cb788..81afcfd 100644 --- a/lib/libkse/thread/thr_writev.c +++ b/lib/libkse/thread/thr_writev.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: uthread_writev.c,v 1.8 1998/06/09 23:21:05 jb Exp $ + * $Id: uthread_writev.c,v 1.9 1998/06/10 22:28:45 jb Exp $ * */ #include <sys/types.h> @@ -145,7 +145,7 @@ writev(int fd, const struct iovec * iov, int iovcnt) * write: */ if (blocking && ((n < 0 && (errno == EWOULDBLOCK || - errno == EAGAIN)) || idx < iovcnt)) { + errno == EAGAIN)) || (n >= 0 && idx < iovcnt))) { _thread_run->data.fd.fd = fd; _thread_kern_set_timeout(NULL); |