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

Commit a77ef4b8 authored by Yusuke Sato's avatar Yusuke Sato Committed by Android (Google) Code Review
Browse files

Merge "Trace Process.killProcessGroup calls in server/am/" into mnc-dev

parents 648abe15 cf4b2542
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -2744,13 +2744,19 @@ public final class ActivityManagerService extends ActivityManagerNative
        return index;
    }
    private static void killProcessGroup(int uid, int pid) {
        Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "killProcessGroup");
        Process.killProcessGroup(uid, pid);
        Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
    }
    final void removeLruProcessLocked(ProcessRecord app) {
        int lrui = mLruProcesses.lastIndexOf(app);
        if (lrui >= 0) {
            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);
                killProcessGroup(app.info.uid, app.pid);
            }
            if (lrui <= mLruProcessActivityStart) {
                mLruProcessActivityStart--;
@@ -3115,7 +3121,7 @@ public final class ActivityManagerService extends ActivityManagerNative
            // clean it up now.
            if (DEBUG_PROCESSES || DEBUG_CLEANUP) Slog.v(TAG_PROCESSES, "App died: " + app);
            checkTime(startTime, "startProcess: bad proc running, killing");
            Process.killProcessGroup(app.info.uid, app.pid);
            killProcessGroup(app.info.uid, app.pid);
            handleAppDiedLocked(app, true, true);
            checkTime(startTime, "startProcess: done killing old proc");
        }
@@ -4603,7 +4609,7 @@ public final class ActivityManagerService extends ActivityManagerNative
            if (!fromBinderDied) {
                Process.killProcessQuiet(pid);
            }
            Process.killProcessGroup(app.info.uid, pid);
            killProcessGroup(app.info.uid, pid);
            app.killed = true;
        }
@@ -5924,7 +5930,7 @@ public final class ActivityManagerService extends ActivityManagerNative
            EventLog.writeEvent(EventLogTags.AM_DROP_PROCESS, pid);
            if (pid > 0 && pid != MY_PID) {
                Process.killProcessQuiet(pid);
                //TODO: Process.killProcessGroup(app.info.uid, pid);
                //TODO: killProcessGroup(app.info.uid, pid);
            } else {
                try {
                    thread.scheduleExit();
@@ -12392,7 +12398,7 @@ public final class ActivityManagerService extends ActivityManagerNative
                            } else {
                                // Huh.
                                Process.killProcess(pid);
                                Process.killProcessGroup(uid, pid);
                                killProcessGroup(uid, pid);
                            }
                        }
                        return;
+3 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import android.os.Bundle;
import android.os.IBinder;
import android.os.Process;
import android.os.SystemClock;
import android.os.Trace;
import android.os.UserHandle;
import android.util.ArrayMap;
import android.util.PrintWriterPrinter;
@@ -536,6 +537,7 @@ final class ProcessRecord {

    void kill(String reason, boolean noisy) {
        if (!killedByAm) {
            Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "kill");
            if (noisy) {
                Slog.i(TAG, "Killing " + toShortString() + " (adj " + setAdj + "): " + reason);
            }
@@ -546,6 +548,7 @@ final class ProcessRecord {
                killed = true;
                killedByAm = true;
            }
            Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
        }
    }