Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 209beca0 authored by Mark Urbanus's avatar Mark Urbanus
Browse files

Create VR HWComposer without locks held

Problem:
Surfaceflinger is occassionally deadlocking when switching to VR Mode.

Root-cause:
During the creation of the VR HWComposer through hwbinder,
hwservicemanager notifies surfaceflinger the service is available through a
binder callback. Because Surfaceflinger holds the state-lock during the
HWComposer creation, its possible all of SurfaceFlinger's binder threads are
handling other transactions waiting for the state-lock to be released.
This prevents the hwservicemanager callback ever to be handled resulting in
a deadlock.

Solution:
Don't hold the state-lock when instantiating the VR HWComposer.

Test: Validated deadlocks no longer occur when switching to VR mode.
Bug: 35680107
Change-Id: I932c81fce293a8b57983f4242432b87522ce964c
parent b0254c42
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment