commit | b2253605afdb7496ed534d6f745359edbdb58cea | [log] [tgz] |
---|---|---|
author | Leon Scroggins III <scroggo@google.com> | Wed Apr 19 17:04:04 2023 -0400 |
committer | Leon Scroggins III <scroggo@google.com> | Thu Apr 27 10:02:37 2023 -0400 |
tree | 13a6bc81534825841cce9223b3fec9dd80cfdf24 | |
parent | 6c440aeb79fdadca718d34f6eca754589730afb0 [diff] |
Fix for potential deadlock in EventThread::onNewVsyncSchedule I haven't seen such a deadlock, but looking over I86e66df59c64e81c4aa721a25250697f61237488 and the potential deadlock that inspired it, I think there could be a similar problem in EventThread. As I understand it, this is partially because of the fact that EventThread does not unregister the old callback. This is addressed in I3c1eccb36914f29560600d48bb08b1b8f2fe7c96. Fix the deadlock with a similar approach as I86e66df59c64e81c4aa721a25250697f61237488: hold on to the old registration until after releasing the mutex. Bug: 279209321 Test: infeasible Change-Id: If490f88115aa298d31aa9ad392a1f9f9dc987549