Summary: | crashes if connecting fails just before it succeeds | ||
---|---|---|---|
Product: | Telepathy | Reporter: | Simon McVittie <smcv> |
Component: | gabble | Assignee: | Simon McVittie <smcv> |
Status: | RESOLVED FIXED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | marco.barisione |
Version: | 0.12 | Keywords: | patch |
Hardware: | Other | ||
OS: | All | ||
URL: | http://cgit.collabora.co.uk/git/user/smcv/telepathy-gabble-smcv.git/commit/?h=012-schrodinger-connected | ||
Whiteboard: | NB#254027, review+ | ||
i915 platform: | i915 features: | ||
Attachments: | set_status_to_connected: do nothing if we already disconnected |
Description
Simon McVittie
2011-05-10 10:51:28 UTC
Created attachment 46559 [details] [review] set_status_to_connected: do nothing if we already disconnected Now that we're making more use of GAsyncResult, we can easily get into this situation: * all but one of the preconditions for being CONNECTED have happened; the remaining one uses GAsyncResult (currently that can only be conn_presence_set_initial_presence_async) * conn_presence_set_initial_presence succeeds, and schedules a call to its callback in an idle; we are now ready to be CONNECTED, but because of GAsyncResult calling conventions, we won't call the callback right now * someone calls Disconnect(), and we do so, synchronously; we are now DISCONNECTED * the idle goes off and connection_initial_presence_cb is called, with success, while DISCONNECTED! ship it. Fixed in git for 0.12.1, 0.13.0 |
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.