[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