diff options
| -rw-r--r-- | services/core/java/com/android/server/am/CachedAppOptimizer.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index 1426cfd65286..3bc5de91b2bd 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -2100,9 +2100,12 @@ public final class CachedAppOptimizer { final boolean frozen; final ProcessCachedOptimizerRecord opt = proc.mOptRecord; - opt.setPendingFreeze(false); - synchronized (mProcLock) { + // someone has canceled this freeze + if (!opt.isPendingFreeze()) { + return; + } + opt.setPendingFreeze(false); pid = proc.getPid(); if (mFreezerOverride) { @@ -2148,7 +2151,6 @@ public final class CachedAppOptimizer { try { traceAppFreeze(proc.processName, pid, -1); Process.setProcessFrozen(pid, proc.uid, true); - opt.setFreezeUnfreezeTime(SystemClock.uptimeMillis()); opt.setFrozen(true); opt.setHasCollectedFrozenPSS(false); |