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

Skip to content
Commit b056f98c authored by Yisroel Forta's avatar Yisroel Forta
Browse files

Remove lock from send start timestamps

It can occur that doDie and surfaceflinger callback occur
simultaneously, this will result in doDie holding the
ViewRootImpl lock while it waits for dequeueBuffer but
maybeSendAppStartTimes will be blocking the thread
waiting on the same lock causing a deadlock.

To remedy this, replace the lock with an atomic variable
for mAppStartTimestampsSent and post to main thread in
all cases. The synchronization only exists to ensure that
sending timestamp is not triggered multiple times
simultaneously, so this is sufficient. Post to main thread
in all cases to ensure values are updated.

Test: AppStartTests, no way to test the actual deadlock
Bug: 359627195
Bug: 357735727
Bug: 357795880
Flag: NONE infeasible
Change-Id: I9c1f7b677b8db93a9ec5a54cf7d0aa9dd9100bb8
parent e4ec8c40
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