diff options
| author | 2025-02-07 04:27:51 -0800 | |
|---|---|---|
| committer | 2025-02-07 04:27:51 -0800 | |
| commit | 594db036d58d39576cf4d0ab93ff2658676fe2b3 (patch) | |
| tree | 51d1cc60fe0702b21e3c9509b3eba1131d252469 /api/coverage/tools | |
| parent | 67e5e61c2a151a1c01f379816a89e31c8374310b (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