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

Commit 76418899 authored by Christopher Tate's avatar Christopher Tate
Browse files

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:

8dc8d37c
e8741d23

Bug 19285814

Change-Id: I59bcc8f1d41c426e9da635bea9ad1d7c6756d5aa
parent c2cc8044
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -2663,7 +2663,7 @@ public final class ActivityManagerService extends ActivityManagerNative
            if (!app.killed) {
                Slog.wtfStack(TAG, "Removing process that hasn't been killed: " + app);
                Process.killProcessQuiet(app.pid);
                Process.killProcessGroup(app.info.uid, app.pid);
                Process.killProcessGroup(app.uid, app.pid);
            }
            if (lrui <= mLruProcessActivityStart) {
                mLruProcessActivityStart--;
@@ -2998,7 +2998,7 @@ public final class ActivityManagerService extends ActivityManagerNative
            // clean it up now.
            if (DEBUG_PROCESSES || DEBUG_CLEANUP) Slog.v(TAG, "App died: " + app);
            checkTime(startTime, "startProcess: bad proc running, killing");
            Process.killProcessGroup(app.info.uid, app.pid);
            Process.killProcessGroup(app.uid, app.pid);
            handleAppDiedLocked(app, true, true);
            checkTime(startTime, "startProcess: done killing old proc");
        }
@@ -4872,7 +4872,7 @@ public final class ActivityManagerService extends ActivityManagerNative
        }
        Process.killProcessQuiet(pid);
        Process.killProcessGroup(app.info.uid, pid);
        Process.killProcessGroup(app.uid, pid);
        app.killed = true;
        // Clean up already done if the process has been re-started.
+1 −1
Original line number Diff line number Diff line
@@ -514,7 +514,7 @@ final class ProcessRecord {
            }
            EventLog.writeEvent(EventLogTags.AM_KILL, userId, pid, processName, setAdj, reason);
            Process.killProcessQuiet(pid);
            Process.killProcessGroup(info.uid, pid);
            Process.killProcessGroup(uid, pid);
            if (!persistent) {
                killed = true;
                killedByAm = true;