[enhancement] Need way of getting PID of Session
Bug #1276704 reported by
Gerry Boland
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Alan Griffiths | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
kevin gunn |
Bug Description
Unity-Mir is employing a little guesswork to match an app_id with a mir Session. This guesswork fails in some scenarios (rapid fire app launching). Better solution would be for mir::shell::Session having a PID property.
Related branches
lp://qastaging/~alan-griffiths/mir/fix-1276704
- Gerry Boland (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 903 lines (+194/-91)24 files modifiedexamples/demo-inprocess-surface-client/inprocess_egl_client.cpp (+4/-2)
include/server/mir/frontend/shell.h (+8/-2)
include/server/mir/shell/session.h (+6/-5)
include/test/mir_test_doubles/mock_shell.h (+6/-3)
include/test/mir_test_doubles/mock_shell_session.h (+2/-1)
include/test/mir_test_doubles/stub_ipc_factory.h (+2/-2)
include/test/mir_test_doubles/stub_shell.h (+1/-1)
include/test/mir_test_doubles/stub_shell_session.h (+6/-1)
src/server/frontend/default_configuration.cpp (+5/-2)
src/server/frontend/protobuf_ipc_factory.h (+7/-2)
src/server/frontend/protobuf_session_creator.cpp (+2/-2)
src/server/frontend/session_mediator.cpp (+4/-2)
src/server/frontend/session_mediator.h (+3/-1)
src/server/scene/application_session.cpp (+8/-1)
src/server/scene/application_session.h (+4/-1)
src/server/scene/session_manager.cpp (+6/-4)
src/server/scene/session_manager.h (+5/-2)
tests/integration-tests/test_session.cpp (+2/-1)
tests/integration-tests/test_session_manager.cpp (+6/-6)
tests/unit-tests/frontend/test_session_mediator.cpp (+5/-5)
tests/unit-tests/frontend/test_session_mediator_android.cpp (+1/-1)
tests/unit-tests/frontend/test_session_mediator_mesa.cpp (+2/-2)
tests/unit-tests/scene/test_application_session.cpp (+91/-34)
tests/unit-tests/scene/test_session_manager.cpp (+8/-8)
lp://qastaging/~mir-team/mir/trunk-0.1.5
- kevin gunn (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Daniel van Vugt: Approve
-
Diff: 5417 lines (+1934/-662)121 files modifiedCMakeLists.txt (+1/-1)
debian/changelog (+49/-0)
debian/control (+4/-4)
debian/libmirclient7.install (+1/-1)
debian/libmirserver15.install (+1/-1)
debian/mir-utils.install (+1/-0)
examples/demo-inprocess-surface-client/inprocess_egl_client.cpp (+4/-2)
examples/render_surfaces.cpp (+3/-2)
include/platform/mir/graphics/display.h (+2/-2)
include/server/mir/compositor/buffer_stream.h (+1/-1)
include/server/mir/default_server_configuration.h (+3/-0)
include/server/mir/frontend/message_processor.h (+15/-1)
include/server/mir/frontend/screencast.h (+55/-0)
include/server/mir/frontend/shell.h (+8/-2)
include/server/mir/frontend/surface.h (+8/-1)
include/server/mir/frontend/template_protobuf_message_processor.h (+1/-3)
include/server/mir/shell/session.h (+6/-5)
include/shared/mir/int_wrapper.h (+16/-18)
include/test/mir_test_doubles/mock_buffer_bundle.h (+1/-1)
include/test/mir_test_doubles/mock_buffer_stream.h (+1/-1)
include/test/mir_test_doubles/mock_display.h (+1/-1)
include/test/mir_test_doubles/mock_fb_hal_device.h (+1/-3)
include/test/mir_test_doubles/mock_frontend_surface.h (+1/-1)
include/test/mir_test_doubles/mock_hwc_composer_device_1.h (+9/-1)
include/test/mir_test_doubles/mock_screencast.h (+50/-0)
include/test/mir_test_doubles/mock_shell.h (+6/-3)
include/test/mir_test_doubles/mock_shell_session.h (+2/-1)
include/test/mir_test_doubles/null_display.h (+4/-2)
include/test/mir_test_doubles/null_screencast.h (+52/-0)
include/test/mir_test_doubles/stub_buffer_stream.h (+2/-2)
include/test/mir_test_doubles/stub_display_configuration.h (+7/-0)
include/test/mir_test_doubles/stub_ipc_factory.h (+2/-2)
include/test/mir_test_doubles/stub_shell.h (+1/-1)
include/test/mir_test_doubles/stub_shell_session.h (+6/-1)
src/client/CMakeLists.txt (+2/-2)
src/client/mir_screencast.cpp (+13/-3)
src/client/mir_screencast.h (+1/-0)
src/client/mir_screencast_api.cpp (+15/-8)
src/client/rpc/mir_socket_rpc_channel.cpp (+7/-0)
src/platform/graphics/android/android_alloc_adaptor.cpp (+1/-1)
src/platform/graphics/android/android_display.cpp (+4/-2)
src/platform/graphics/android/android_display.h (+2/-2)
src/platform/graphics/android/android_platform.cpp (+1/-3)
src/platform/graphics/android/display_buffer.h (+0/-1)
src/platform/graphics/android/hwc_device.cpp (+4/-7)
src/platform/graphics/android/hwc_device.h (+2/-5)
src/platform/graphics/android/hwc_layers.cpp (+6/-2)
src/platform/graphics/android/internal_client_window.cpp (+6/-1)
src/platform/graphics/android/output_builder.cpp (+8/-12)
src/platform/graphics/android/output_builder.h (+1/-2)
src/platform/graphics/android/resource_factory.cpp (+3/-1)
src/platform/graphics/android/server_render_window.cpp (+6/-1)
src/platform/graphics/mesa/display.cpp (+4/-2)
src/platform/graphics/mesa/display.h (+4/-4)
src/server/CMakeLists.txt (+1/-1)
src/server/compositor/buffer_bundle.h (+1/-1)
src/server/compositor/buffer_stream_surfaces.cpp (+5/-4)
src/server/compositor/buffer_stream_surfaces.h (+1/-1)
src/server/compositor/default_configuration.cpp (+32/-0)
src/server/compositor/switching_bundle.cpp (+2/-2)
src/server/compositor/switching_bundle.h (+1/-1)
src/server/display_server.cpp (+5/-2)
src/server/frontend/default_configuration.cpp (+15/-6)
src/server/frontend/protobuf_ipc_factory.h (+7/-2)
src/server/frontend/protobuf_message_processor.cpp (+81/-5)
src/server/frontend/protobuf_message_processor.h (+3/-1)
src/server/frontend/protobuf_session_creator.cpp (+2/-2)
src/server/frontend/session_mediator.cpp (+144/-81)
src/server/frontend/session_mediator.h (+24/-3)
src/server/frontend/surface.cpp (+25/-1)
src/server/graphics/nested/nested_display.cpp (+6/-2)
src/server/graphics/nested/nested_display.h (+1/-1)
src/server/graphics/offscreen/display.cpp (+4/-2)
src/server/graphics/offscreen/display.h (+3/-3)
src/server/scene/application_session.cpp (+8/-1)
src/server/scene/application_session.h (+4/-1)
src/server/scene/basic_surface.cpp (+3/-3)
src/server/scene/basic_surface.h (+1/-1)
src/server/scene/session_manager.cpp (+6/-4)
src/server/scene/session_manager.h (+5/-2)
src/server/scene/surface_impl.cpp (+2/-2)
src/server/scene/surface_impl.h (+1/-1)
src/utils/CMakeLists.txt (+9/-0)
src/utils/screencast.cpp (+313/-0)
tests/acceptance-tests/test_client_screencast.cpp (+45/-133)
tests/acceptance-tests/test_display_configuration.cpp (+6/-4)
tests/acceptance-tests/test_protobuf.cpp (+1/-1)
tests/acceptance-tests/test_surfaces_with_output_id.cpp (+4/-2)
tests/draw/android_graphics.cpp (+0/-22)
tests/integration-tests/client/CMakeLists.txt (+6/-1)
tests/integration-tests/client/test_screencast.cpp (+191/-0)
tests/integration-tests/compositor/test_buffer_stream.cpp (+47/-21)
tests/integration-tests/compositor/test_swapping_swappers.cpp (+27/-2)
tests/integration-tests/graphics/android/test_buffer_integration.cpp (+25/-1)
tests/integration-tests/graphics/android/test_display_integration.cpp (+12/-37)
tests/integration-tests/graphics/android/test_internal_client.cpp (+3/-2)
tests/integration-tests/test_display_server_main_loop_events.cpp (+4/-2)
tests/integration-tests/test_session.cpp (+3/-2)
tests/integration-tests/test_session_manager.cpp (+6/-6)
tests/integration-tests/test_swapinterval.cpp (+15/-7)
tests/mir_test_framework/stubbed_server_configuration.cpp (+5/-3)
tests/unit-tests/client/test_mir_screencast.cpp (+52/-2)
tests/unit-tests/compositor/test_buffer_stream.cpp (+39/-9)
tests/unit-tests/compositor/test_switching_bundle.cpp (+58/-30)
tests/unit-tests/compositor/test_temporary_buffers.cpp (+2/-2)
tests/unit-tests/frontend/test_session_mediator.cpp (+67/-14)
tests/unit-tests/frontend/test_session_mediator_android.cpp (+3/-2)
tests/unit-tests/frontend/test_session_mediator_mesa.cpp (+4/-3)
tests/unit-tests/frontend/test_socket_session.cpp (+1/-1)
tests/unit-tests/graphics/android/test_android_alloc_adaptor.cpp (+1/-1)
tests/unit-tests/graphics/android/test_buffer_tex_bind.cpp (+14/-7)
tests/unit-tests/graphics/android/test_hwc_common_device.cpp (+3/-1)
tests/unit-tests/graphics/android/test_hwc_device.cpp (+25/-7)
tests/unit-tests/graphics/android/test_output_builder.cpp (+7/-7)
tests/unit-tests/graphics/mesa/test_display_configuration.cpp (+2/-2)
tests/unit-tests/scene/test_application_session.cpp (+91/-34)
tests/unit-tests/scene/test_session_manager.cpp (+8/-8)
tests/unit-tests/scene/test_surface.cpp (+19/-20)
tests/unit-tests/scene/test_surface_impl.cpp (+2/-1)
tests/unit-tests/scene/test_surface_stack.cpp (+1/-1)
tests/unit-tests/shell/test_graphics_display_layout.cpp (+5/-5)
tags: | added: enhancement |
Changed in mir: | |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in mir: | |
milestone: | none → 0.1.5 |
summary: |
- Need way of getting PID of Session + [enhancement] Need way of getting PID of Session |
Changed in mir: | |
importance: | High → Medium |
Changed in mir (Ubuntu): | |
importance: | High → Medium |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
NOTE: The fix is being pushed to archive lp:mir EARLY ahead of development-branch, as part of: /code.launchpad .net/~mir- team/mir/ trunk-0. 1.5/+merge/ 205432
https:/