Merge lp:~alan-griffiths/mir/fix-1526248 into lp:mir
Proposed by
Alan Griffiths
Status: | Merged |
---|---|
Approved by: | Daniel van Vugt |
Approved revision: | no longer in the source branch. |
Merged at revision: | 3201 |
Proposed branch: | lp:~alan-griffiths/mir/fix-1526248 |
Merge into: | lp:mir |
Diff against target: |
158 lines (+24/-18) 5 files modified
src/client/connection_surface_map.h (+2/-2) src/client/rpc/mir_basic_rpc_channel.cpp (+4/-2) src/client/rpc/mir_basic_rpc_channel.h (+3/-1) src/client/rpc/mir_protobuf_rpc_channel.cpp (+7/-3) src/client/surface_map.cpp (+8/-10) |
To merge this branch: | bzr merge lp:~alan-griffiths/mir/fix-1526248 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel van Vugt | Abstain | ||
Alberto Aguirre (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Kevin DuBois (community) | Approve | ||
Review via email: mp+280578@code.launchpad.net |
Commit message
client: Fix racy access surfaces and streams in ConnectionSurfa
Description of the change
client: Fix racy access surfaces and streams in ConnectionSurfa
To post a comment you must log in.
I have a more involved fix coming (probably today actually), where we switch to using shared ptrs.
Its a bit unintuitive, but since the resources in the map are raw ptrs, they can actually be deleted before the map gets the lock, and removes them. The branch I have switches to shared_ptrs, so the object can't get deleted while under SurfaceMap's lock.