qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] qemu-char: Fix reconnect socket error repor


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 1/2] qemu-char: Fix reconnect socket error reporting
Date: Mon, 06 Oct 2014 12:36:58 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1

On 10/06/2014 11:59 AM, address@hidden wrote:
> From: Corey Minyard <address@hidden>
> 
> If reconnect was set, errors wouldn't always be reported.
> Fix that and also only report a connect error once until a
> connection has been made.
> 
> The primary purpose of this is to tell the user that a
> connection failed so they can know they need to figure out
> what went wrong.  So we don't want to spew too much
> out here, just enough so they know.
> 
> Signed-off-by: Corey Minyard <address@hidden>
> ---
>  qemu-char.c | 47 ++++++++++++++++++++++++++++++++---------------
>  1 file changed, 32 insertions(+), 15 deletions(-)

> +    bool connect_err_reported;
>  } TCPCharDriver;
>  
>  static gboolean socket_reconnect_timeout(gpointer opaque);
> @@ -2521,6 +2522,17 @@ static void 
> qemu_chr_socket_restart_timer(CharDriverState *chr)
>                                                 socket_reconnect_timeout, 
> chr);
>  }
>  
> +static void check_report_connect_error(CharDriverState *chr, const char *str)
> +{
> +    TCPCharDriver *s = chr->opaque;
> +
> +    if (!s->connect_err_reported) {
> +        error_report("%s char device %s\n", str, chr->label);

No \n at the end of an error_report() message.

> +        s->connect_err_reported = 1;

s/1/true/ since you typed it as bool.

> +    }
> +    qemu_chr_socket_restart_timer(chr);
> +}
> +
>  static gboolean tcp_chr_accept(GIOChannel *chan, GIOCondition cond, void 
> *opaque);
>  
>  #ifndef _WIN32
> @@ -3045,12 +3057,14 @@ static void 
> qemu_chr_finish_socket_connection(CharDriverState *chr, int fd)
>  static void qemu_chr_socket_connected(int fd, void *opaque)
>  {
>      CharDriverState *chr = opaque;
> +    TCPCharDriver *s = chr->opaque;
>  
>      if (fd < 0) {
> -        qemu_chr_socket_restart_timer(chr);
> +        check_report_connect_error(chr, "Unable to connect to");

Works in English, but if there is ever translation of the message
printed in check_report_connect_error, you are probably doing
translators a disservice by splitting a sentence into two parts
separated by a number of lines of code.  (Spoken by one who has never
contributed a translation, so take with a grain of salt)

>          return;
>      }
>  
> +    s->connect_err_reported = 0;

s/0/false/



-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]