projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
526eda1
)
iov: handle EOF in iov_send_recv
author
MORITA Kazutaka
<morita.kazutaka@lab.ntt.co.jp>
Tue, 23 Jul 2013 08:30:12 +0000
(17:30 +0900)
committer
Kevin Wolf
<kwolf@redhat.com>
Tue, 6 Aug 2013 08:41:56 +0000
(10:41 +0200)
Without this patch, iov_send_recv() never returns when do_send_recv()
returns zero.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
util/iov.c
patch
|
blob
|
history
diff --git
a/util/iov.c
b/util/iov.c
index cc6e837c8368f81938bf98179d6c6328b5ed170d..f7055868082dee04b771cc35d73010278ad0579d 100644
(file)
--- 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;