From d908edd810dd22d8ec512a19c32637df464e9d0a Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 13 Jun 2014 14:56:04 -0700 Subject: [PATCH] ActivityManager: pass the main uid of the app to lmkd The uid and pid will be used to together to find any forked processes and kill them. Bug: 15313911 Change-Id: I2edb51527e5d1a977c0fad0e6c959c8438bb4be9 --- .../core/java/com/android/server/am/ActivityManagerService.java | 2 +- services/core/java/com/android/server/am/ProcessList.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 8257f29f0310..e10c48f3c120 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -15952,7 +15952,7 @@ public final class ActivityManagerService extends ActivityManagerNative int changes = 0; if (app.curAdj != app.setAdj) { - ProcessList.setOomAdj(app.pid, app.curAdj); + ProcessList.setOomAdj(app.pid, app.info.uid, app.curAdj); if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Slog.v( TAG, "Set " + app.pid + " " + app.processName + " adj " + app.curAdj + ": " + app.adjType); diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index 755a237226a8..77c324fe41b2 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -519,17 +519,19 @@ final class ProcessList { * Set the out-of-memory badness adjustment for a process. * * @param pid The process identifier to set. + * @param uid The uid of the app * @param amt Adjustment value -- lmkd allows -16 to +15. * * {@hide} */ - public static final void setOomAdj(int pid, int amt) { + public static final void setOomAdj(int pid, int uid, int amt) { if (amt == UNKNOWN_ADJ) return; - ByteBuffer buf = ByteBuffer.allocate(4 * 3); + ByteBuffer buf = ByteBuffer.allocate(4 * 4); buf.putInt(LMK_PROCPRIO); buf.putInt(pid); + buf.putInt(uid); buf.putInt(amt); writeLmkd(buf); } -- 2.11.0