diff options
Diffstat (limited to 'util/qemu-coroutine-io.c')
-rw-r--r-- | util/qemu-coroutine-io.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/util/qemu-coroutine-io.c b/util/qemu-coroutine-io.c index 0d5041c..91b9357 100644 --- a/util/qemu-coroutine-io.c +++ b/util/qemu-coroutine-io.c @@ -35,18 +35,16 @@ qemu_co_sendv_recvv(int sockfd, struct iovec *iov, unsigned iov_cnt, { size_t done = 0; ssize_t ret; - int err; while (done < bytes) { ret = iov_send_recv(sockfd, iov, iov_cnt, offset + done, bytes - done, do_send); if (ret > 0) { done += ret; } else if (ret < 0) { - err = socket_error(); - if (err == EAGAIN || err == EWOULDBLOCK) { + if (errno == EAGAIN || errno == EWOULDBLOCK) { qemu_coroutine_yield(); } else if (done == 0) { - return -err; + return -errno; } else { break; } |