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
Loading
Please register or sign in to comment