[Spice-devel] [PATCH spice-gtk 1/9] channel: delay event report to after coroutine exit

Marc-André Lureau marcandre.lureau at gmail.com
Tue Jan 27 05:38:23 PST 2015


On Tue, Jan 27, 2015 at 2:22 PM, Christophe Fergeau <cfergeau at redhat.com> wrote:
> My understanding was that before these changes, when
> g_coroutine_signal_emit was used to emit an error, this part of the code
> relied on c->state != SPICE_CHANNEL_STATE_RECONNECTING to avoid calling
> channel_connect(). Is this assertion now wrong after your changes?

What do you mean? now that signal is delayed after this check,
c->event might be != NONE. I wanted to be extra careful that it
doesn't attempt to reconnect when there is an error to be signaled.
However, reviewing the code, I think it is fine to add a check
instead:
    if (c->state == SPICE_CHANNEL_STATE_RECONNECTING) {
        g_warn_if_failed(c->event == SPICE_CHANNEL_NONE);

I'll change the patch to do that.


-- 
Marc-André Lureau


More information about the Spice-devel mailing list