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:8dc8d37c1de8741d23d2Bug 19285814 Change-Id: I59bcc8f1d41c426e9da635bea9ad1d7c6756d5aa
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user