Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ee3a1fe authored by Jing Ji's avatar Jing Ji
Browse files

Fix potential race condition due to missing lock

Bug: 194991626
Test: atest ProcStatsValidationTests
Test: atest ProcessStatsDumpsysTest
Test: CtsIncidentHostTestCases:ProcStatsProtoTest
Change-Id: I1dc7c03d031248fb945dc2cf9dd47ad590ec672c
Merged-In: I1dc7c03d031248fb945dc2cf9dd47ad590ec672c
parent f637a0d6
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -4906,7 +4906,9 @@ public final class ActiveServices {
            sr.setProcess(null, null, 0, null);
            sr.isolatedProc = null;
            sr.executeNesting = 0;
            synchronized (mAm.mProcessStats.mLock) {
                sr.forceClearTracker();
            }
            if (mDestroyingServices.remove(sr)) {
                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "killServices remove destroying " + sr);
            }
@@ -5056,7 +5058,9 @@ public final class ActiveServices {
            i--;
            ServiceRecord sr = mDestroyingServices.get(i);
            if (sr.app == app) {
                synchronized (mAm.mProcessStats.mLock) {
                    sr.forceClearTracker();
                }
                mDestroyingServices.remove(i);
                if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "killServices remove destroying " + sr);
            }