[Bug 29790] Fix a refleak in CallChannel (plus some bonus similar ones in Wocky)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Aug 25 12:51:32 CEST 2010


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

--- Comment #1 from Will Thompson <will.thompson at collabora.co.uk> 2010-08-25 03:51:32 PDT ---
Unfortunately there is a second leak in this stuff.

The media factory calls init_async() on the Call channel. If we're already
waiting for the contact's caps, the Call channel waits for them to arrive
before succeeding or failing to initialize. If they don't arrive before the
connection dies, the signal the call channel is waiting for never arrives, so
the async operation never finishes.

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.

-- 
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