On Wed, Sep 10, 2025 at 08:55:57PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> On 10.09.25 12:44, Daniel P. Berrangé wrote:
> > > @@ -36,7 +37,11 @@ static gboolean ga_channel_listen_accept(GIOChannel
> > > *channel,
> > > g_warning("error converting fd to gsocket: %s",
> > > strerror(errno));
> > > goto out;
> > > }
> > > - qemu_socket_set_nonblock(client_fd);
> > > + if (!qemu_set_blocking(client_fd, false, &err)) {
> > > + g_warning("errer: %s", error_get_pretty(err));
> > s/errer/error/
> >
> >
> > This is a pre-existing problem, but none of this code should be using
> > g_warning. g_printerr() should have been used for printing error
> > messages. I'm not expecting you to fix that, just an observation.
>
>
> Why not g_error()? I see some g_warnings in qga code a correct "warnings",
> not "errors".. And if we use sometimes g_warning, the g_error is more correct
> pair for it.
>
> Or we don't want any of g_error / g_warning in QEMU code?
g_error will call abort() after printing the message, which will
prevent graceful cleanup and result in a core file, so is not
very desirable to use.
g_warning will also turn into g_error if G_DEBUG=fatal-warnings
is set.
We really just want a plain message printed on the console with
no side effects, and g_printerr gives us that.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|