]> git.proxmox.com Git - mirror_qemu.git/blobdiff - qemu-coroutine-io.c
ppc: Add software breakpoint support
[mirror_qemu.git] / qemu-coroutine-io.c
index 054ca70627e386198314deb616cfbf47b144619e..d4049260da0381d0a1008c2f38e3ee150dae982e 100644 (file)
@@ -34,13 +34,15 @@ 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;