[sheepdog] [PATCH 02/11] iov: handle EOF in iov_send_recv

Paolo Bonzini pbonzini at redhat.com
Tue Jul 23 13:28:17 CEST 2013


Il 23/07/2013 10:30, MORITA Kazutaka ha scritto:
> Without this patch, iov_send_recv() never returns when do_send_recv()
> returns zero.
> 
> Signed-off-by: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
> ---
>  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;
> 

Reviewed-by: Paolo Bonzini <pbonzini at redhat.com>

... and should also be in 1.5.2.

Paolo



More information about the sheepdog mailing list