Mir

Merge lp:~alan-griffiths/mir/fix-SystemCompositorWindowManager-remove_surface into lp:mir

Proposed by Alan Griffiths on 2016-02-09
Status: Merged
Approved by: Alan Griffiths on 2016-02-10
Approved revision: 3297
Merged at revision: 3300
Proposed branch: lp:~alan-griffiths/mir/fix-SystemCompositorWindowManager-remove_surface
Merge into: lp:mir
Diff against target: 11 lines (+2/-0)
1 file modified
src/server/shell/system_compositor_window_manager.cpp (+2/-0)
To merge this branch: bzr merge lp:~alan-griffiths/mir/fix-SystemCompositorWindowManager-remove_surface
Reviewer Review Type Date Requested Status
Kevin DuBois (community) 2016-02-09 Approve on 2016-02-09
PS Jenkins bot continuous-integration Approve on 2016-02-09
Mir CI Bot continuous-integration Approve on 2016-02-09
Review via email: mp+285492@code.launchpad.net

Commit Message

shell: protect output_map access with a lock_guard in SystemCompositorWindowManager::remove_surface()

Description of the Change

shell: protect output_map access with a lock_guard in SystemCompositorWindowManager::remove_surface()

To post a comment you must log in.
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3297
https://mir-jenkins.ubuntu.com/job/mir-ci/262/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build/50
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/56
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/52
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/52
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=amd64,compiler=gcc,platform=mesa,release=xenial/52
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=amd64,compiler=gcc,platform=mesa,release=xenial/52/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/52
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/52/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/52
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/52/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=mesa,release=xenial/52
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=mesa,release=xenial/52/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/262/rebuild

review: Approve (continuous-integration)
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:3297
http://jenkins.qa.ubuntu.com/job/mir-ci/6242/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-android-vivid-i386-build/5843
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-clang-vivid-amd64-build/4750
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-vivid-touch/5799
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-xenial-touch/410
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/566
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/566/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/566
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/566/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5796
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5796/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-touch/8200
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27416
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/406
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/406/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-xenial-touch/260
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27421

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/mir-ci/6242/rebuild

review: Approve (continuous-integration)
Kevin DuBois (kdub) wrote :

yes, that needs a lock

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/server/shell/system_compositor_window_manager.cpp'
2--- src/server/shell/system_compositor_window_manager.cpp 2016-01-29 08:18:22 +0000
3+++ src/server/shell/system_compositor_window_manager.cpp 2016-02-09 14:47:27 +0000
4@@ -120,6 +120,8 @@
5 std::weak_ptr<ms::Surface> const& surface)
6 {
7 session->destroy_surface(surface);
8+
9+ std::lock_guard<decltype(mutex)> lock{mutex};
10 output_map.erase(surface);
11 }
12

Subscribers

People subscribed via source and target branches