[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qemu-char: (Re-)connect for tcp_chr_write() unc
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH] qemu-char: (Re-)connect for tcp_chr_write() unconnected writing |
Date: |
Thu, 19 Jul 2012 18:09:05 -0500 |
User-agent: |
Notmuch/0.13.2+60~g7ecf77d (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Lei Li <address@hidden> writes:
> tcp_chr_write() did not deal with writing to an unconnected
> connection and return the original length of the data, it's
> not right and would cause false writing. So (re-)connect it
> and return 0 for this situation.
>
> Signed-off-by: Lei Li <address@hidden>
Looks good.
Reviewed-by: Anthony Liguori <address@hidden>
Regards,
Anthony Liguori
> ---
> qemu-char.c | 7 +++++--
> 1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/qemu-char.c b/qemu-char.c
> index c2aaaee..25eaeeb 100644
> --- a/qemu-char.c
> +++ b/qemu-char.c
> @@ -2141,14 +2141,17 @@ typedef struct {
>
> static void tcp_chr_accept(void *opaque);
>
> +static void tcp_chr_connect(void *opaque);
> +
> static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
> {
> TCPCharDriver *s = chr->opaque;
> if (s->connected) {
> return send_all(s->fd, buf, len);
> } else {
> - /* XXX: indicate an error ? */
> - return len;
> + /* (Re-)connect for unconnected writing */
> + tcp_chr_connect(chr);
> + return 0;
> }
> }
>
> --
> 1.7.7.6