Merge lp:~afrantzis/mir/fix-1441759-screencast into lp:mir
Status: | Merged |
---|---|
Approved by: | Alexandros Frantzis |
Approved revision: | no longer in the source branch. |
Merged at revision: | 2522 |
Proposed branch: | lp:~afrantzis/mir/fix-1441759-screencast |
Merge into: | lp:mir |
Diff against target: |
73 lines (+38/-5) 2 files modified
src/server/frontend/session_mediator.cpp (+8/-5) tests/unit-tests/frontend/test_session_mediator.cpp (+30/-0) |
To merge this branch: | bzr merge lp:~afrantzis/mir/fix-1441759-screencast |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Approve | ||
Chris Halse Rogers | Needs Fixing | ||
Kevin DuBois (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Alberto Aguirre (community) | Approve | ||
Review via email:
|
Commit message
frontend: Properly handle asynchronous completion function invocations (LP: #1441759)
Under some circumstances (e.g., when screencasting) the completion function for a client buffer request may be invoked asynchronously, but from the same thread that initiated the client buffer request (i.e. one of the IPC threads). Our code didn't handle this situation properly, causing clients to hang waiting for a reply that never arrived.
Description of the change
frontend: Properly handle asynchronous swap buffer completion function invocations (LP: #1441759)
Under some circumstances (e.g., when screencasting) the completion function for a client buffer request may be invoked asynchronously, but from the same thread that initiated the client buffer request (i.e. one of the IPC threads). Our code didn't handle this situation properly, causing clients to hang waiting for a reply that never arrived.
LGTM.