Merge lp:~albaguirre/mir/fix-1427976 into lp:mir
Status: | Rejected |
---|---|
Rejected by: | Alberto Aguirre |
Proposed branch: | lp:~albaguirre/mir/fix-1427976 |
Merge into: | lp:mir |
Diff against target: |
363 lines (+162/-23) 5 files modified
src/include/common/mir/semaphore_lock.h (+81/-0) src/server/frontend/session_mediator.cpp (+22/-22) src/server/frontend/session_mediator.h (+2/-1) tests/unit-tests/CMakeLists.txt (+1/-0) tests/unit-tests/test_semaphore_lock.cpp (+56/-0) |
To merge this branch: | bzr merge lp:~albaguirre/mir/fix-1427976 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alberto Aguirre (community) | Disapprove | ||
Alan Griffiths | Needs Fixing | ||
Alexandros Frantzis (community) | Needs Fixing | ||
Daniel van Vugt | Needs Fixing | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email: mp+251817@code.launchpad.net |
Commit message
Avoid unlocking sesssion mutex in a different thread.
In some cases, SessionMediator needs to lock the session
while it waits for Surface:
asynchronously on a different thread. Since a std::mutex
cannot be used for such purposes a SemaphoreLock type is introduced.
Description of the change
Avoid unlocking sesssion mutex in a different thread.
In some cases, SessionMediator needs to lock the session
while it waits for Surface:
asynchronously on a different thread. Since a std::mutex
cannot be used for such purposes a SemaphoreLock type is introduced.
Unmerged revisions
- 2361. By Alberto Aguirre
-
Avoid unlocking sesssion mutex in a different thread.
In some cases, SessionMediator needs to lock the session
while it waits for Surface::swap_buffers which may complete asynchronously on a different thread.
Since a std::mutex cannot be used for such purposes a SemaphoreLock type is introduced.
PASSED: Continuous integration, rev:2361 jenkins. qa.ubuntu. com/job/ mir-ci/ 3130/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/1511 jenkins. qa.ubuntu. com/job/ mir-clang- vivid-amd64- build/1510 jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/1465 jenkins. qa.ubuntu. com/job/ mir-vivid- amd64-ci/ 1127 jenkins. qa.ubuntu. com/job/ mir-vivid- amd64-ci/ 1127/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 1465 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 1465/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/4485 s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 18561
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/3130/ rebuild
http://