From 7f2087435edf475bc4e18c422a5baec7d7898d4c Mon Sep 17 00:00:00 2001 From: Josh Bartel Date: Thu, 25 Feb 2010 11:01:44 -0600 Subject: Rename functions which ought to be named *Locked() Several functions operate on variables to which access needs to be synchronized. However, it happens that the functions in question are only ever called from places which have already synchronized. Therefore, nothing is really wrong, but the functions ought to have 'Locked' appended to their names, to indicate that it is the caller's responsibility to synchronize before calling them. Change-Id: I44e7dc0dff6da9436677cb10908dce41ffeba195 --- .../android/server/am/ActivityManagerService.java | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 5f6356d97edb..1359f663d1b8 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -3566,7 +3566,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen if (DEBUG_TASKS) Log.v(TAG, "Starting new activity " + r + " in new task " + r.task); newTask = true; - addRecentTask(r.task); + addRecentTaskLocked(r.task); } else if (sourceRecord != null) { if (!addingToTask && @@ -3855,7 +3855,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } } - private final void addRecentTask(TaskRecord task) { + private final void addRecentTaskLocked(TaskRecord task) { // Remove any existing entries that are the same kind of task. int N = mRecentTasks.size(); for (int i=0; i list = mStickyBroadcasts.get(action); @@ -11616,10 +11616,10 @@ public final class ActivityManagerService extends ActivityManagerNative implemen if (actions != null) { while (actions.hasNext()) { String action = (String)actions.next(); - allSticky = getStickies(action, filter, allSticky); + allSticky = getStickiesLocked(action, filter, allSticky); } } else { - allSticky = getStickies(null, filter, allSticky); + allSticky = getStickiesLocked(null, filter, allSticky); } // The first sticky in the list is returned directly back to @@ -13357,7 +13357,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen /** * Returns true if things are idle enough to perform GCs. */ - private final boolean canGcNow() { + private final boolean canGcNowLocked() { return mParallelBroadcasts.size() == 0 && mOrderedBroadcasts.size() == 0 && (mSleeping || (mResumedActivity != null && @@ -13373,7 +13373,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen if (N <= 0) { return; } - if (canGcNow()) { + if (canGcNowLocked()) { while (mProcessesToGc.size() > 0) { ProcessRecord proc = mProcessesToGc.remove(0); if (proc.curRawAdj > VISIBLE_APP_ADJ || proc.reportLowMemory) { @@ -13401,7 +13401,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen * If all looks good, perform GCs on all processes waiting for them. */ final void performAppGcsIfAppropriateLocked() { - if (canGcNow()) { + if (canGcNowLocked()) { performAppGcsLocked(); return; } -- cgit v1.2.3-59-g8ed1b From 2ecce34f2f05447bed6d798a4fe906fed4cbd7d9 Mon Sep 17 00:00:00 2001 From: Josh Bartel Date: Thu, 25 Feb 2010 10:55:48 -0600 Subject: Synchronize access to *Locked() functions Several places were calling *Locked() functions without properly synchronizing. Change-Id: Ie39b6592da8bb5f4a5a1e738c45f228256116ec4 --- .../android/server/am/ActivityManagerService.java | 31 +++++++++++++++------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 1359f663d1b8..9e9552aec479 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -4931,9 +4931,11 @@ public final class ActivityManagerService extends ActivityManagerNative implemen Intent intent = new Intent(Intent.ACTION_PACKAGE_DATA_CLEARED, Uri.fromParts("package", packageName, null)); intent.putExtra(Intent.EXTRA_UID, pkgUid); - broadcastIntentLocked(null, null, intent, - null, null, 0, null, null, null, - false, false, MY_PID, Process.SYSTEM_UID); + synchronized (this) { + broadcastIntentLocked(null, null, intent, + null, null, 0, null, null, null, + false, false, MY_PID, Process.SYSTEM_UID); + } } catch (RemoteException e) { } } finally { @@ -5668,7 +5670,9 @@ public final class ActivityManagerService extends ActivityManagerNative implemen ArrayList procs = new ArrayList(mProcessesOnHold); for (int ip=0; ip