Loading services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -3393,7 +3393,7 @@ public class ActivityManagerService extends IActivityManager.Stub mProcessList.noteAppKill(app, ApplicationExitInfo.REASON_OTHER, ApplicationExitInfo.SUBREASON_UNKNOWN, reason); } ProcessList.killProcessGroup(app.uid, pid); app.killProcessGroupIfNecessaryLocked(true); synchronized (mProcLock) { app.setKilled(true); } Loading services/core/java/com/android/server/am/ProcessRecord.java +25 −20 Original line number Diff line number Diff line Loading @@ -1197,6 +1197,23 @@ class ProcessRecord implements WindowProcessListener { EventLog.writeEvent(EventLogTags.AM_KILL, userId, mPid, processName, mState.getSetAdj(), reason); Process.killProcessQuiet(mPid); killProcessGroupIfNecessaryLocked(asyncKPG); } else { mPendingStart = false; } if (!mPersistent) { synchronized (mProcLock) { mKilled = true; mKilledByAm = true; mKillTime = SystemClock.uptimeMillis(); } } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } } @GuardedBy("mService") void killProcessGroupIfNecessaryLocked(boolean async) { final boolean killProcessGroup; if (mHostingRecord != null && (mHostingRecord.usesWebviewZygote() || mHostingRecord.usesAppZygote())) { Loading @@ -1211,24 +1228,12 @@ class ProcessRecord implements WindowProcessListener { killProcessGroup = true; } if (killProcessGroup) { if (asyncKPG) { if (async) { ProcessList.killProcessGroup(uid, mPid); } else { Process.sendSignalToProcessGroup(uid, mPid, OsConstants.SIGKILL); } } } else { mPendingStart = false; } if (!mPersistent) { synchronized (mProcLock) { mKilled = true; mKilledByAm = true; mKillTime = SystemClock.uptimeMillis(); } } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } } @Override Loading Loading
services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -3393,7 +3393,7 @@ public class ActivityManagerService extends IActivityManager.Stub mProcessList.noteAppKill(app, ApplicationExitInfo.REASON_OTHER, ApplicationExitInfo.SUBREASON_UNKNOWN, reason); } ProcessList.killProcessGroup(app.uid, pid); app.killProcessGroupIfNecessaryLocked(true); synchronized (mProcLock) { app.setKilled(true); } Loading
services/core/java/com/android/server/am/ProcessRecord.java +25 −20 Original line number Diff line number Diff line Loading @@ -1197,6 +1197,23 @@ class ProcessRecord implements WindowProcessListener { EventLog.writeEvent(EventLogTags.AM_KILL, userId, mPid, processName, mState.getSetAdj(), reason); Process.killProcessQuiet(mPid); killProcessGroupIfNecessaryLocked(asyncKPG); } else { mPendingStart = false; } if (!mPersistent) { synchronized (mProcLock) { mKilled = true; mKilledByAm = true; mKillTime = SystemClock.uptimeMillis(); } } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } } @GuardedBy("mService") void killProcessGroupIfNecessaryLocked(boolean async) { final boolean killProcessGroup; if (mHostingRecord != null && (mHostingRecord.usesWebviewZygote() || mHostingRecord.usesAppZygote())) { Loading @@ -1211,24 +1228,12 @@ class ProcessRecord implements WindowProcessListener { killProcessGroup = true; } if (killProcessGroup) { if (asyncKPG) { if (async) { ProcessList.killProcessGroup(uid, mPid); } else { Process.sendSignalToProcessGroup(uid, mPid, OsConstants.SIGKILL); } } } else { mPendingStart = false; } if (!mPersistent) { synchronized (mProcLock) { mKilled = true; mKilledByAm = true; mKillTime = SystemClock.uptimeMillis(); } } Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); } } @Override Loading