diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 12 |
1 files changed, 9 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 b111b36276aa..cea54a6819e8 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -11045,9 +11045,15 @@ public final class ActivityManagerService extends ActivityManagerNative public void killUid(int uid, String reason) { enforceCallingPermission(Manifest.permission.KILL_UID, "killUid"); synchronized (this) { - killPackageProcessesLocked(null, UserHandle.getAppId(uid), UserHandle.getUserId(uid), - ProcessList.FOREGROUND_APP_ADJ-1, false, true, true, false, - reason != null ? reason : "kill uid"); + final long identity = Binder.clearCallingIdentity(); + try { + killPackageProcessesLocked(null, UserHandle.getAppId(uid), + UserHandle.getUserId(uid), + ProcessList.PERSISTENT_PROC_ADJ, false, true, true, true, + reason != null ? reason : "kill uid"); + } finally { + Binder.restoreCallingIdentity(identity); + } } } |