[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/11] iov: handle EOF in iov_send_recv
From: |
MORITA Kazutaka |
Subject: |
[Qemu-devel] [PATCH 02/11] iov: handle EOF in iov_send_recv |
Date: |
Tue, 23 Jul 2013 17:30:12 +0900 |
Without this patch, iov_send_recv() never returns when do_send_recv()
returns zero.
Signed-off-by: MORITA Kazutaka <address@hidden>
---
util/iov.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/util/iov.c b/util/iov.c
index cc6e837..f705586 100644
--- a/util/iov.c
+++ b/util/iov.c
@@ -202,6 +202,12 @@ ssize_t iov_send_recv(int sockfd, struct iovec *iov,
unsigned iov_cnt,
return -1;
}
+ if (ret == 0 && !do_send) {
+ /* recv returns 0 when the peer has performed an orderly
+ * shutdown. */
+ break;
+ }
+
/* Prepare for the next iteration */
offset += ret;
total += ret;
--
1.8.1.3.566.gaa39828
- [Qemu-devel] [PATCH 00/11] sheepdog: reconnect server after connection failure, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 06/11] sheepdog: handle vdi objects in resend_aio_req, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 04/11] sheepdog: make connect nonblocking, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 03/11] qemu-sockets: make wait_for_connect be invoked in qemu_aio_wait, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 02/11] iov: handle EOF in iov_send_recv,
MORITA Kazutaka <=
- [Qemu-devel] [PATCH 01/11] ignore SIGPIPE in qemu-img and qemu-io, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 09/11] sheepdog: try to reconnect to sheepdog after network error, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 07/11] sheepdog: reload inode outside of resend_aioreq, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 11/11] sheepdog: cancel aio requests if possible, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 08/11] coroutine: add co_aio_sleep_ns() to allow sleep in block drivers, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 05/11] sheepdog: check return values of qemu_co_recv/send correctly, MORITA Kazutaka, 2013/07/23
- [Qemu-devel] [PATCH 10/11] sheepdog: make add_aio_request and send_aioreq void functions, MORITA Kazutaka, 2013/07/23