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

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

 




----- 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@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]