diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index f4e2b0f38f137..35f71f74d0e1b 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -3100,9 +3100,10 @@ public final class ProcessList { hostingRecord.getDefiningUid(), hostingRecord.getDefiningProcessName()); final ProcessStateRecord state = r.mState; - if (!mService.mBooted && !mService.mBooting + if (!isolated && !isSdkSandbox && userId == UserHandle.USER_SYSTEM - && (info.flags & PERSISTENT_MASK) == PERSISTENT_MASK) { + && (info.flags & PERSISTENT_MASK) == PERSISTENT_MASK + && (TextUtils.equals(proc, info.processName))) { // The system process is initialized to SCHED_GROUP_DEFAULT in init.rc. state.setCurrentSchedulingGroup(ProcessList.SCHED_GROUP_DEFAULT); state.setSetSchedGroup(ProcessList.SCHED_GROUP_DEFAULT);