Fix potential deadlock in shutdown in HistoricalRegistry
Ensure that the memory lock is released before calling
persistPendingHistory in HistoricalRegistry.
Bug: 172776374
Test: none
Change-Id: I909de9f83cd43c695d0db99f82252ce36a0b972b
(cherry picked from commit 42387ceaed)
This commit is contained in:
@@ -669,10 +669,12 @@ final class HistoricalRegistry {
|
|||||||
|
|
||||||
void shutdown() {
|
void shutdown() {
|
||||||
synchronized (mInMemoryLock) {
|
synchronized (mInMemoryLock) {
|
||||||
if (mMode != AppOpsManager.HISTORICAL_MODE_DISABLED) {
|
if (mMode == AppOpsManager.HISTORICAL_MODE_DISABLED) {
|
||||||
persistPendingHistory();
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Do not call persistPendingHistory inside the memory lock, due to possible deadlock
|
||||||
|
persistPendingHistory();
|
||||||
}
|
}
|
||||||
|
|
||||||
void persistPendingHistory() {
|
void persistPendingHistory() {
|
||||||
|
|||||||
Reference in New Issue
Block a user