[Bug 29790] CallChannels still awaiting caps when we disconnect are leaked.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Sep 30 12:26:20 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=29790

--- Comment #4 from Will Thompson <will.thompson at collabora.co.uk> 2010-09-30 03:26:19 PDT ---
(In reply to comment #1)
> The fix ought to be straightforward: in the Call channel, keep track of
> outstanding init_async() operations. Watch the connection state, and if it
> changes to Disconnected, fail all the operations, safe in the knowledge that
> capabilities-discovered will not fire. (Unfortunately, I don't think this is
> quite true — Disconnected is signalled when we send </stream:stream>, and we
> might receive the replies before the server sends back </stream:stream> — so
> some care needs to be taken here.) But I have other things to attend to, I'm
> afraid.

A better fix would be to replace the gboolean contact_is_media_capable(...,
gboolean *wait, ...) functions with

  gboolean gabble_presence_cache_contact_has_caps (cache, handle, caps);

and

  void gabble_presence_cache_contact_has_caps_async(...);
  gboolean ..._finish();

with the former returning immediately, and the latter waiting for the caps to
arrive if retrieval is in progress.

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


More information about the telepathy-bugs mailing list