Bug 30824 - Doesn't clean up properly if CM dies.
Summary: Doesn't clean up properly if CM dies.
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: logger (show other bugs)
Version: git master
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL: http://git.collabora.co.uk/?p=user/wj...
Whiteboard: review+
Keywords: patch
Depends on:
Blocks:
 
Reported: 2010-10-13 02:29 UTC by Will Thompson
Modified: 2010-10-25 06:21 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Will Thompson 2010-10-13 02:29:03 UTC
I found that sometimes, opening conversations to particular contacts would wait for MC's call to tpl's ObserveChannels implementation to time out before the channel could be dispatched. And, inevitably, those conversations weren't logged.

I tracked this down to a pair of issues:

• tpl only forgets about a channel if it emits Closed(), which doesn't happen if I kill Gabble. If the same object path is re-used the next time I connect (without restarting tpl) then it just ignores the channel.
• If tpl chooses not to observe any channels from the list passed to ObserveChannels(), it never returns from the method. This is the classic expecting-at-least-one-async-operation-when-actually-there-may-be-none bug.

Patches to follow.
Comment 1 Will Thompson 2010-10-13 03:09:47 UTC
Oh hello there. Here is a branch. It also contains some clean-up to keep my diffstat karma in the red.

 telepathy-logger/channel-text.c |  101 ++++++++++++++-------------------------
 telepathy-logger/observer.c     |   40 ++++++++++++----
 2 files changed, 66 insertions(+), 75 deletions(-)
Comment 2 Jonny Lamb 2010-10-13 03:35:41 UTC
A fine set of patches, sir.
Comment 3 Will Thompson 2010-10-25 06:21:30 UTC
Fixed in 0.1.6.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.