[Spice-devel] [PATCH spice-gtk 06/13] migration: set connecting state before fd request

Marc-André Lureau mlureau at redhat.com
Wed Nov 12 09:13:07 PST 2014



----- Original Message -----
> On Wed, Nov 12, 2014 at 11:27:28AM -0500, Marc-André Lureau wrote:
> > 
> > 
> > ----- Original Message -----
> > > On Sun, Nov 09, 2014 at 05:31:38PM +0100, Marc-André Lureau wrote:
> > > > During migration, the main channel initiating the process is waiting on
> > > > connection completion or error. However, if the migration is cancelled,
> > > > but the main channel state is still NONE, no error event will be fired,
> > > > and the main channel will remain frozen.
> > > 
> > > Do you mean SPICE_CHANNEL_STATE_UNCONNECTED rather than 'NONE' and are
> > > you referring to the
> > > if (c->state == SPICE_CHANNEL_STATE_UNCONNECTED)
> > >     return;
> > > 
> > > c->has_error = TRUE; /* break the loop */
> > > 
> > > blocks in channel_disconnect/spice_channel_disconnect() ?
> > 
> > 
> > This in spice_channel_disconnect():
> > 
> >    if (reason != SPICE_CHANNEL_NONE)
> >         g_signal_emit(G_OBJECT(channel), signals[SPICE_CHANNEL_EVENT], 0,
> >         reason);
> 
> I've seen that bit, but SPICE_CHANNEL_NONE is a SpiceChannelEvent, not a
> spice_channel_state, and even after looking at the various
> spice_channel_disconnect() call sites it's not obvious how this relates
> to this change.
> 

The reason will be set on error, signal will be emitted. But channel state must be != STATE_UNCONNECTED. 

> Christophe
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list