[Bug 20946] Closed D-Bus and GObject signals fired together make code nasty

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jul 27 15:23:47 CEST 2009


http://bugs.freedesktop.org/show_bug.cgi?id=20946





--- Comment #2 from Will Thompson <will.thompson at collabora.co.uk>  2009-07-27 06:23:47 PST ---
After further thought, I think the correct fix here is to change:

      GHashTable *tmp = priv->tubes_channels;
      priv->tubes_channels = NULL;
      g_hash_table_destroy (tmp);

into:

      GList *cs = g_hash_table_get_values (priv->tubes_channels);
      for (TubeChannel *c in cs)
          tube_channel_close (c);
      g_list_free (cs);
      g_assert (g_hash_table_size (priv->tubes_channels) == 0);

The issue is in conflating unreffing the channel with telling it to close.
INVALID?


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the telepathy-bugs mailing list