[Spice-devel] [PATCH spice-gtk 13/15] session: remove sticky disconnecting flag
Christophe Fergeau
cfergeau at redhat.com
Wed Nov 26 08:25:33 PST 2014
On Wed, Nov 26, 2014 at 04:17:24PM +0100, Christophe Fergeau wrote:
> On Tue, Nov 25, 2014 at 02:19:26PM +0100, Marc-André Lureau wrote:
> > This used to help prevent double-unref when channel were considered part
> > of the session as long as they lived. Now it shouldn't be required
> > anymore
>
> This is a bit confusing as a commit message, as after this commit the
> 'disconnecting' flag is still there, it's only used in less places.
> So "it shouldn't be required anymore" but we still keep it ?
Ah, actually this makes sense in combination with patch 15/15 which
reuse this slightly differently.
Christophe
>
> > ---
> > gtk/spice-session.c | 9 +++------
> > 1 file changed, 3 insertions(+), 6 deletions(-)
> >
> > diff --git a/gtk/spice-session.c b/gtk/spice-session.c
> > index b9a0ee9..f0347db 100644
> > --- a/gtk/spice-session.c
> > +++ b/gtk/spice-session.c
> > @@ -1380,12 +1380,11 @@ gboolean spice_session_connect(SpiceSession *session)
> > SpiceSessionPrivate *s;
> >
> > g_return_val_if_fail(SPICE_IS_SESSION(session), FALSE);
> > - g_return_val_if_fail(session->priv != NULL, FALSE);
>
> This bit is unrelated.
>
> >
> > s = session->priv;
> > + g_return_val_if_fail(!s->disconnecting, FALSE);
> >
> > spice_session_disconnect(session);
> > - s->disconnecting = FALSE;
> >
> > s->client_provided_sockets = FALSE;
> >
> > @@ -1415,13 +1414,12 @@ gboolean spice_session_open_fd(SpiceSession *session, int fd)
> > SpiceSessionPrivate *s;
> >
> > g_return_val_if_fail(SPICE_IS_SESSION(session), FALSE);
> > - g_return_val_if_fail(session->priv != NULL, FALSE);
> > g_return_val_if_fail(fd >= -1, FALSE);
> >
> > s = session->priv;
> > + g_return_val_if_fail(!s->disconnecting, FALSE);
> >
> > spice_session_disconnect(session);
> > - s->disconnecting = FALSE;
> >
> > s->client_provided_sockets = TRUE;
> >
> > @@ -1758,8 +1756,7 @@ void spice_session_disconnect(SpiceSession *session)
> > memset(s->uuid, 0, sizeof(s->uuid));
> >
> > spice_session_abort_migration(session);
> > - /* we leave disconnecting = TRUE, so that spice_channel_disconnect()
> > - is not called multiple times */
> > + s->disconnecting = FALSE;
> > }
> >
> > /**
> > --
> > 2.1.0
> >
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20141126/ea052236/attachment.sig>
More information about the Spice-devel
mailing list