Merge lp://qastaging/~vanvugt/mir/detect-overlapping-clients into lp://qastaging/mir
Proposed by
Daniel van Vugt
Status: | Rejected | ||||
---|---|---|---|---|---|
Rejected by: | Daniel van Vugt | ||||
Proposed branch: | lp://qastaging/~vanvugt/mir/detect-overlapping-clients | ||||
Merge into: | lp://qastaging/mir | ||||
Diff against target: |
52 lines (+31/-0) 2 files modified
src/server/compositor/switching_bundle.cpp (+13/-0) tests/unit-tests/compositor/test_switching_bundle.cpp (+18/-0) |
||||
To merge this branch: | bzr merge lp://qastaging/~vanvugt/mir/detect-overlapping-clients | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Disapprove | ||
Alexandros Frantzis (community) | Abstain | ||
Review via email:
|
Commit message
Detect when multiple client buffers are requested simultaneously to
multiple compositor buffers (bypass mode). If you've only got 3 buffers,
doing so will cause blocking and delays. So throw an exception instead of
silently degrading performance (like we did in LP: #1249210).
To post a comment you must log in.
Unmerged revisions
- 1212. By Daniel van Vugt
-
Detect when multiple client buffers are requested simultaneously to
multiple compositor buffers (bypass mode). If you've only got 3 buffers,
doing so will cause blocking and delays. So throw an exception instead of
silently degrading performance (like we did in LP: #1249210).
8 + if (ncompositors > 1 && nclients > 0 && !nfree()) EXCEPTION( std::logic_ error(
16 + BOOST_THROW_
Since the client is in no position to know about compositors, this cannot be a logic error from the client's perspective.
Is there a valid use case for giving to the client more than 1 buffer at any time? If not, then I think it should be cleaner to disallow it explicitly and have: if (nclients > 0) ..., which is more suitable as a client logic error.