From: Corey Minyard <cminyard@mvista.com>
To: Eric Blake <eblake@redhat.com>, minyard@acm.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/2] qemu-char: Fix reconnect socket error reporting
Date: Mon, 06 Oct 2014 14:52:13 -0500 [thread overview]
Message-ID: <5432F2ED.8080105@mvista.com> (raw)
In-Reply-To: <5432E14A.8030105@redhat.com>
On 10/06/2014 01:36 PM, Eric Blake wrote:
> On 10/06/2014 11:59 AM, minyard@acm.org wrote:
>> From: Corey Minyard <cminyard@mvista.com>
>>
>> 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 <cminyard@mvista.com>
>> ---
>> 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.
Oops, I read that and forgot to change it.
>
>> + s->connect_err_reported = 1;
> s/1/true/ since you typed it as bool.
Sigh. Old habits die hard.
>
>> + }
>> + 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)
Yeah, I was avoiding having to add an error_vreport(). I should just
add that.
All other comments fixed. Thanks.
-corey
>> return;
>> }
>>
>> + s->connect_err_reported = 0;
> s/0/false/
>
>
>
next prev parent reply other threads:[~2014-10-06 19:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-06 17:59 [Qemu-devel] [PATCH 0/2] qemu-char: Clean up socket reporting minyard
2014-10-06 17:59 ` [Qemu-devel] [PATCH 1/2] qemu-char: Fix reconnect socket error reporting minyard
2014-10-06 18:36 ` Eric Blake
2014-10-06 19:52 ` Corey Minyard [this message]
2014-10-06 20:36 ` Paolo Bonzini
2014-10-08 6:56 ` Markus Armbruster
2014-10-06 17:59 ` [Qemu-devel] [PATCH 2/2] qemu-sockets: Add error to non-blocking connect handler minyard
2014-10-07 22:15 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5432F2ED.8080105@mvista.com \
--to=cminyard@mvista.com \
--cc=eblake@redhat.com \
--cc=minyard@acm.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.