Fix deadlock between PMS and UMS threads
Resolve circular waiting in PMS side. It holds mLock in setEnabledSettings(), then calls getComponentEnabledSettingInternal() -> UMS to ask mUsersLock. To fix, move the method out of mLock block Symptom: PMS a: hold mSnapshotLock -> ask PMS:mLock PMS b: hold mLock -> ask UMS:mUsersLock UMS: hold mUsersLock -> ask PMS:mSnapshotLock Bug: 414214527 Flag: EXEMPT bug fix Test: atest CtsPackageInstallTestCases Test: atest CtsPackageManagerTestCases Test: atest CtsPackageManagerStatsHostTestCases Change-Id: Ibad1f72477bc5b04fc1df129f593dc087272f3ee
Loading
Please register or sign in to comment