summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Akira Numata <akira.numata@sonymobile.com> 2014-03-13 13:36:31 +0900
committer Takeshi Aimi <takeshi.aimi@sonymobile.com> 2014-03-18 05:41:30 +0000
commiteff08c4ffe41e0a52ddd2c8c9d968482bae5935d (patch)
treee427dd5192262a4c974c96315b1fab64fe4adb14
parentd88d817498327462f42e50348239eac59147f310 (diff)
Insufficient ProcessRecord cleanup when persistent process is killed
When persistent process with Service restarts, ActivityManagerService does not reset ProcessRecord#hasClientActivites to false (because ProcessRecord of persistent process is continued using after killing). It disturbs updating LRU list in ActivityManagerService, and then, when new process calls ActivityManagerProxy#publishContentProviders, SecurityException happens because of no entry in the list. Bug: 13517358 Change-Id: I46b064f71a4f7025ade1bf117801352a7ab22e6a
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 91565e37b497..97696a5d8fbf 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -12435,6 +12435,7 @@ public final class ActivityManagerService extends ActivityManagerNative
app.foregroundActivities = false;
app.hasShownUi = false;
app.hasAboveClient = false;
+ app.hasClientActivities = false;
mServices.killServicesLocked(app, allowRestart);