summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorVairavan Srinivasan <vairav@codeaurora.org>2010-07-22 13:36:40 -0700
committerVairavan Srinivasan <vairav@codeaurora.org>2010-07-22 13:36:40 -0700
commit61f07659fe66216d39f1652c94693d1c68cd9e67 (patch)
tree97449ba7adebf569141755a6a121c3106453eef4 /services
parent13d33472b273088311dc8787e5c55c41d4632071 (diff)
downloadframeworks_base-61f07659fe66216d39f1652c94693d1c68cd9e67.zip
frameworks_base-61f07659fe66216d39f1652c94693d1c68cd9e67.tar.gz
frameworks_base-61f07659fe66216d39f1652c94693d1c68cd9e67.tar.bz2
frameworks/base: Implement Mutual exclusion in BroadcastReceiver
Invoke forceStopPackageLocked after acquiring a lock on ActivityManagerService.this. Change-Id: I75a85da03418a87c26b89360cebd3bccc6a25e46
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 0430c74..a388311 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -5880,10 +5880,12 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
String[] pkgs = intent.getStringArrayExtra(Intent.EXTRA_PACKAGES);
if (pkgs != null) {
for (String pkg : pkgs) {
- if (forceStopPackageLocked(pkg, -1, false, false, false)) {
- setResultCode(Activity.RESULT_OK);
- return;
- }
+ synchronized (ActivityManagerService.this) {
+ if (forceStopPackageLocked(pkg, -1, false, false, false)) {
+ setResultCode(Activity.RESULT_OK);
+ return;
+ }
+ }
}
}
}