<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 13, 2014 at 6:38 PM, Christophe Fergeau <span dir="ltr"><<a href="mailto:cfergeau@redhat.com" target="_blank">cfergeau@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey,<br>
<span class=""><br>
On Thu, Nov 13, 2014 at 05:41:20PM +0100, Marc-André Lureau wrote:<br>
> On Thu, Nov 13, 2014 at 10:07 AM, Christophe Fergeau <<a href="mailto:cfergeau@redhat.com">cfergeau@redhat.com</a>><br>
> wrote:<br>
><br>
> > Ah, this is the bit I was missing thanks! The commit log needs to be<br>
> > much more detailed and accurate, and mention explicitly the various code<br>
> > paths involved to trigger the error, where the looping occurs, ...<br>
> ><br>
><br>
> What about?<br>
><br>
> migration: set connecting state before fd request<br>
><br>
> During migration, the main channel initiating the process is waiting on<br>
> connection completion of all channels in migrate_channel_event_cb()<br>
<br>
</span>before yielding back to the main context.<br></blockquote><div><br></div><div>Not sure what you mean, the main channel context is "waiting", meaning it waits until it is yields back from<span class=""> migrate_channel_event_cb()</span> when all channels are connected.<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="">> or<br>
> it will abort migration for unexpected channel events, such as<br>
> SPICE_CHANNEL_CLOSED.<br>
<br>
</span>s/or it will/It will//<br></blockquote><div><br>"<span class="">is waiting on connection completion of all channels... or it will", I think this is correct as it's an alternative path if the completion isn't met.<br><br></span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><br>
><br>
> If the migration is cancelled before connection completes, but the<br>
> channels state are still SPICE_CHANNEL_STATE_UNCONNECTED,<br>
<br>
</span>but the channells are still in the SPICE_CHANNEL_STATE_UNCONNECTED state<br></blockquote><div><br></div>ok<br><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class=""><br>
> no events will<br>
> be emitted in channel_disconnect(), and the source session main channel<br>
> will remain frozen waiting for migration completion or failure.<br>
><br>
> Currently, for client-fd channels, the channel state remains UNCONNECTED<br>
> until the fd is provided. But if cancellation occurs, no channel events are<br>
> emitted and the source session is stuck.<br>
><br>
> Before requesting the fd, set the channel state to connecting, so<br>
> it<br>
><br>
> will emit an error if disconnect happens, and it will finish cancelling<br>
> the migration in source session main channel.<br>
<br>
</span>Extra line breaks in the middle of the paragraph it seems.<br></blockquote><div><br></div><div>I use emacs default fill-paragraph, it may not match the mailer but it looks correct ~70 character per line.<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Christophe<br>
<br>
><br>
><br>
<span class=""><font color="#888888">><br>
> --<br>
> Marc-André Lureau<br>
</font></span><div class=""><div class="h5"><br>
> _______________________________________________<br>
> Spice-devel mailing list<br>
> <a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Marc-André Lureau</div>
</div></div>