Kill the real/isolated uid group, not the ApplicationInfo uid

This is a direct reimplementation in L of fixes applied to N in
these two commits:

8dc8d37c1d
e8741d23d2

Bug 19285814

Change-Id: I59bcc8f1d41c426e9da635bea9ad1d7c6756d5aa
This commit is contained in:
Christopher Tate
2016-04-18 15:16:31 -07:00
parent c2cc804407
commit 76418899e6
2 changed files with 4 additions and 4 deletions

View File

@@ -2663,7 +2663,7 @@ public final class ActivityManagerService extends ActivityManagerNative
if (!app.killed) { if (!app.killed) {
Slog.wtfStack(TAG, "Removing process that hasn't been killed: " + app); Slog.wtfStack(TAG, "Removing process that hasn't been killed: " + app);
Process.killProcessQuiet(app.pid); Process.killProcessQuiet(app.pid);
Process.killProcessGroup(app.info.uid, app.pid); Process.killProcessGroup(app.uid, app.pid);
} }
if (lrui <= mLruProcessActivityStart) { if (lrui <= mLruProcessActivityStart) {
mLruProcessActivityStart--; mLruProcessActivityStart--;
@@ -2998,7 +2998,7 @@ public final class ActivityManagerService extends ActivityManagerNative
// clean it up now. // clean it up now.
if (DEBUG_PROCESSES || DEBUG_CLEANUP) Slog.v(TAG, "App died: " + app); if (DEBUG_PROCESSES || DEBUG_CLEANUP) Slog.v(TAG, "App died: " + app);
checkTime(startTime, "startProcess: bad proc running, killing"); checkTime(startTime, "startProcess: bad proc running, killing");
Process.killProcessGroup(app.info.uid, app.pid); Process.killProcessGroup(app.uid, app.pid);
handleAppDiedLocked(app, true, true); handleAppDiedLocked(app, true, true);
checkTime(startTime, "startProcess: done killing old proc"); checkTime(startTime, "startProcess: done killing old proc");
} }
@@ -4872,7 +4872,7 @@ public final class ActivityManagerService extends ActivityManagerNative
} }
Process.killProcessQuiet(pid); Process.killProcessQuiet(pid);
Process.killProcessGroup(app.info.uid, pid); Process.killProcessGroup(app.uid, pid);
app.killed = true; app.killed = true;
// Clean up already done if the process has been re-started. // Clean up already done if the process has been re-started.

View File

@@ -514,7 +514,7 @@ final class ProcessRecord {
} }
EventLog.writeEvent(EventLogTags.AM_KILL, userId, pid, processName, setAdj, reason); EventLog.writeEvent(EventLogTags.AM_KILL, userId, pid, processName, setAdj, reason);
Process.killProcessQuiet(pid); Process.killProcessQuiet(pid);
Process.killProcessGroup(info.uid, pid); Process.killProcessGroup(uid, pid);
if (!persistent) { if (!persistent) {
killed = true; killed = true;
killedByAm = true; killedByAm = true;