[Bug 19930] Close() on MUC channels should probably be asynchronous

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jan 13 16:20:18 CET 2011


Jonny Lamb <jonny.lamb at collabora.co.uk> changed:

           What    |Removed                     |Added
  Status Whiteboard|review- (needs more test)   |

--- Comment #4 from Jonny Lamb <jonny.lamb at collabora.co.uk> 2011-01-13 07:20:17 PST ---
(In reply to comment #2)
> I think your test should check that Gabble does *something* sensible if you
> request a new channel while it's waiting for the server to ack you leaving the
> room.

Makes sense. I've changed the test to ensure it fails with NotAvailable, and
also that it works after the channel has finally closed.

> I think that, given that Gabble bothers to have a 180-second (!) timeout for
> joining a room in the first place, it should have the same for leaving it.

Okay, added. I made it 180s again for consistency. I'm not sure I'd be so
popular if I made a test for that.

(In reply to comment #3)
> Oh, and does this deal correctly with:
> • The channel emits Closed() when Disconnect() is called; and doesn't crash
> when the presence arrives. I believe this works by accident: when Disconnect()
> is called, the muc factory tells the channel to close without waiting, and then
> unrefs the channel, which happens to destroy it, which has the effect of
> destroying the WockyMuc so WockyMuc::parted will not fire and crash us.

Yeah that's what happened. I added a test for this case as you saw IRL.

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