Bug 23687 - Doesn't deal correctly with all BypassApproval handlers exiting
Summary: Doesn't deal correctly with all BypassApproval handlers exiting
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: mission-control (show other bugs)
Version: unspecified
Hardware: Other All
: high normal
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL: http://git.collabora.co.uk/?p=user/sm...
Whiteboard:
Keywords: patch
Depends on: 23818 24120 24569
Blocks: 23651
  Show dependency treegraph
 
Reported: 2009-09-03 07:40 UTC by Simon McVittie
Modified: 2009-11-02 07:58 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Simon McVittie 2009-09-03 07:40:20 UTC
At the moment, it's possible to get MC into this situation:

* NewChannels
* a handler H0 with BypassApproval=FALSE exists
* a handler H1 with BypassApproval=TRUE exists
* MC decides to bypass approvers
* H1 exits
* MC runs handlers
* H1 doesn't exist any more
* H0 is run without approval

or even this:

* NewChannels
* a handler H0 with BypassApproval=FALSE exists
* a handler H1 with BypassApproval=TRUE exists
* MC decides to bypass approvers
* H1 exits, but MC hasn't seen it disappear yet
* MC runs handlers
* H1 is run; calling its HandleChannels method fails
* Only now does MC see that H1 has exited
* H0 is run without approval

We should convert dispatching to have an extra phase: before running approvers, try to run BypassApproval handlers in preference order. If one of them succeeds, stop dispatching; if they all fail (or there aren't any), continue to approvers.

This is likely to require refactoring in the dispatcher code, and is probably too intrusive for 5.2.
Comment 1 Simon McVittie 2009-10-16 04:47:06 UTC
Now that I've done the refactoring (although it still needs review), this is the next highest priority.
Comment 2 Simon McVittie 2009-10-19 16:48:52 UTC
This should now be good to review after Bug #24120 and Bug #24569.
Comment 3 Sjoerd Simons 2009-11-02 07:38:16 UTC
ship it
Comment 4 Simon McVittie 2009-11-02 07:58:54 UTC
Thanks, fixed in git


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.