Hi, This series fixes recycling channels on normal disconnect/connect operations (needed by clients to enable & disable sharing folder dynamically for example). It also cleans up a bit some code, removing the unnecessary Channel:channel_disconnect(). Finally, it fixes switch-host code, which seems to be broken because the connection_id isn't reset, and the only channel that gets migrated is the main channel atm. (it may also solve some notification races that have been described by Christophe, since the delayed_unref() function is now used only when the channel is disconnected without pending reconnect) Marc-André Lureau (9): channel: emit close event when coroutine has finished channel: remove useless precondition channel: reset channel state to unconnected channel: use exisiting reconnection code when switching channel: reset migration state when calling channel_reset() Call channel_reset() directly when finishing coroutine channel: set c->has_error to finish coroutine channel: remove unused ChannelClass::channel_disconnect() session: reset connection_id on switch-host gtk/spice-channel.c | 47 ++++++++++++++--------------------------------- gtk/spice-channel.h | 2 +- gtk/spice-session.c | 1 + 3 files changed, 16 insertions(+), 34 deletions(-) -- 2.1.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel