Mir

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

Proposed by Alan Griffiths
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
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) Approve
PS Jenkins bot (community) continuous-integration Approve
Mir CI Bot continuous-integration Approve
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.
Revision history for this message
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)
Revision history for this message
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)
Revision history for this message
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
=== modified file 'src/server/shell/system_compositor_window_manager.cpp'
--- src/server/shell/system_compositor_window_manager.cpp 2016-01-29 08:18:22 +0000
+++ src/server/shell/system_compositor_window_manager.cpp 2016-02-09 14:47:27 +0000
@@ -120,6 +120,8 @@
120 std::weak_ptr<ms::Surface> const& surface)120 std::weak_ptr<ms::Surface> const& surface)
121{121{
122 session->destroy_surface(surface);122 session->destroy_surface(surface);
123
124 std::lock_guard<decltype(mutex)> lock{mutex};
123 output_map.erase(surface);125 output_map.erase(surface);
124}126}
125127

Subscribers

People subscribed via source and target branches