Loading services/core/java/com/android/server/am/CachedAppOptimizer.java +3 −11 Original line number Diff line number Diff line Loading @@ -1392,25 +1392,17 @@ public final class CachedAppOptimizer { void cancelAllCompactions(CancelCompactReason reason) { synchronized (mProcLock) { int size = mPendingCompactionProcesses.size(); ProcessRecord record; for (int i=0; i < size; ++i) { record = mPendingCompactionProcesses.get(i); cancelCompactionForProcess(record, reason); // The process record is kept alive after compactions are cleared, // so make sure to reset the compaction state to avoid skipping any future // compactions due to a stale value here. record.mOptRecord.setHasPendingCompact(false); while(!mPendingCompactionProcesses.isEmpty()) { cancelCompactionForProcess(mPendingCompactionProcesses.get(0), reason); } mPendingCompactionProcesses.clear(); } cancelCompaction(); } @GuardedBy("mProcLock") void cancelCompactionForProcess(ProcessRecord app, CancelCompactReason cancelReason) { boolean cancelled = false; if (!mPendingCompactionProcesses.isEmpty() && mPendingCompactionProcesses.contains(app)) { if (mPendingCompactionProcesses.contains(app)) { app.mOptRecord.setHasPendingCompact(false); mPendingCompactionProcesses.remove(app); cancelled = true; Loading Loading
services/core/java/com/android/server/am/CachedAppOptimizer.java +3 −11 Original line number Diff line number Diff line Loading @@ -1392,25 +1392,17 @@ public final class CachedAppOptimizer { void cancelAllCompactions(CancelCompactReason reason) { synchronized (mProcLock) { int size = mPendingCompactionProcesses.size(); ProcessRecord record; for (int i=0; i < size; ++i) { record = mPendingCompactionProcesses.get(i); cancelCompactionForProcess(record, reason); // The process record is kept alive after compactions are cleared, // so make sure to reset the compaction state to avoid skipping any future // compactions due to a stale value here. record.mOptRecord.setHasPendingCompact(false); while(!mPendingCompactionProcesses.isEmpty()) { cancelCompactionForProcess(mPendingCompactionProcesses.get(0), reason); } mPendingCompactionProcesses.clear(); } cancelCompaction(); } @GuardedBy("mProcLock") void cancelCompactionForProcess(ProcessRecord app, CancelCompactReason cancelReason) { boolean cancelled = false; if (!mPendingCompactionProcesses.isEmpty() && mPendingCompactionProcesses.contains(app)) { if (mPendingCompactionProcesses.contains(app)) { app.mOptRecord.setHasPendingCompact(false); mPendingCompactionProcesses.remove(app); cancelled = true; Loading