summaryrefslogtreecommitdiff
path: root/api/coverage/tools
diff options
context:
space:
mode:
author Vladimir Komsiyski <vladokom@google.com> 2025-02-07 04:27:51 -0800
committer Vladimir Komsiyski <vladokom@google.com> 2025-02-07 04:27:51 -0800
commit594db036d58d39576cf4d0ab93ff2658676fe2b3 (patch)
tree51d1cc60fe0702b21e3c9509b3eba1131d252469 /api/coverage/tools
parent67e5e61c2a151a1c01f379816a89e31c8374310b (diff)
Fix the VDM<->WM deadlock when creating a display.
VirtualDeviceImpl holds its lock when calling DisplayManagerService#createVirtualDisplay, which calls into WM for the DisplayWindowSettings logic, which locks the global WM lock. On a separate path, when WM detects a new display, while holding its global WM lock, it calls into VDM to check if a virtual device is the owner of the new display, which locks the VirtualDeviceImpl lock. Solution: - Do not hold the VD lock when calling createVirtualDisplay. - Still, the VD needs to be notified when the display is created before any other display listeners know about that display. - It's actually very similar to the existing onVirtualDisplayRemoved call from DMS Fix: 380339391 Test: presubmut Flag: EXEMPT bugfix Change-Id: Ie41d59534cecb1057b6d51496fcd884e5c3bff0f
Diffstat (limited to 'api/coverage/tools')
0 files changed, 0 insertions, 0 deletions