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

Marc-André Lureau marcandre.lureau at gmail.com
Thu Nov 13 08:41:20 PST 2014


On Thu, Nov 13, 2014 at 10:07 AM, Christophe Fergeau <cfergeau at redhat.com>
wrote:

> Ah, this is the bit I was missing thanks! The commit log needs to be
> much more detailed and accurate, and mention explicitly the various code
> paths involved to trigger the error, where the looping occurs, ...
>

What about?

migration: set connecting state before fd request

During migration, the main channel initiating the process is waiting on
connection completion of all channels in migrate_channel_event_cb() or
it will abort migration for unexpected channel events, such as
SPICE_CHANNEL_CLOSED.

If the migration is cancelled before connection completes, but the
channels state are still SPICE_CHANNEL_STATE_UNCONNECTED, no events will
be emitted in channel_disconnect(), and the source session main channel
will remain frozen waiting for migration completion or failure.

Currently, for client-fd channels, the channel state remains UNCONNECTED
until the fd is provided. But if cancellation occurs, no channel events are
emitted and the source session is stuck.

Before requesting the fd, set the channel state to connecting, so
it

will emit an error if disconnect happens, and it will finish cancelling
the migration in source session main channel.



-- 
Marc-André Lureau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20141113/1c9ab370/attachment.html>


More information about the Spice-devel mailing list