]> Git Repo - qemu.git/blobdiff - qemu-coroutine-io.c
qemu-ga: implement win32 guest-set-user-password
[qemu.git] / qemu-coroutine-io.c
index 054ca70627e386198314deb616cfbf47b144619e..28dc7351accb904b3caf204ee5032a69364dec87 100644 (file)
@@ -34,16 +34,18 @@ 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) {
-            if (errno == EAGAIN) {
+            err = socket_error();
+            if (err == EAGAIN || err == EWOULDBLOCK) {
                 qemu_coroutine_yield();
             } else if (done == 0) {
-                return -1;
+                return -err;
             } else {
                 break;
             }
This page took 0.024162 seconds and 4 git commands to generate.