diff options
author | Dianne Hackborn <hackbod@google.com> | 2013-10-15 01:00:07 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-15 01:00:07 +0000 |
commit | e49a107a241b77c2361d67796dcb433441d91e37 (patch) | |
tree | 9eccbfdfdc3ca30557f7d02557d338dde9622d92 /services | |
parent | a6ffa4ef021ee35a533bc05205d6add6971cc44a (diff) | |
parent | 878deb3c7b33a0c508137143c776e07bab0296cf (diff) | |
download | frameworks_base-e49a107a241b77c2361d67796dcb433441d91e37.zip frameworks_base-e49a107a241b77c2361d67796dcb433441d91e37.tar.gz frameworks_base-e49a107a241b77c2361d67796dcb433441d91e37.tar.bz2 |
Merge "Fix issue #11223335: APR: Lots of failures in procstats due to..." into klp-dev
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/am/ActiveServices.java | 20 | ||||
-rw-r--r-- | services/java/com/android/server/am/ServiceRecord.java | 7 | ||||
-rw-r--r-- | services/java/com/android/server/pm/Settings.java | 3 |
3 files changed, 18 insertions, 12 deletions
diff --git a/services/java/com/android/server/am/ActiveServices.java b/services/java/com/android/server/am/ActiveServices.java index b69a0c8..a64940c 100644 --- a/services/java/com/android/server/am/ActiveServices.java +++ b/services/java/com/android/server/am/ActiveServices.java @@ -1494,7 +1494,7 @@ public final class ActiveServices { } catch (Exception e) { Slog.w(TAG, "Exception when unbinding service " + r.shortName, e); - serviceDoneExecutingLocked(r, true, true); + serviceProcessGoneLocked(r); } } } @@ -1544,7 +1544,7 @@ public final class ActiveServices { } catch (Exception e) { Slog.w(TAG, "Exception when destroying service " + r.shortName, e); - serviceDoneExecutingLocked(r, true, true); + serviceProcessGoneLocked(r); } updateServiceForegroundLocked(r.app, false); } else { @@ -1570,7 +1570,7 @@ public final class ActiveServices { r.tracker.setStarted(false, memFactor, now); r.tracker.setBound(false, memFactor, now); if (r.executeNesting == 0) { - r.tracker.clearCurrentOwner(r); + r.tracker.clearCurrentOwner(r, false); r.tracker = null; } } @@ -1629,7 +1629,7 @@ public final class ActiveServices { s.app.thread.scheduleUnbindService(s, b.intent.intent.getIntent()); } catch (Exception e) { Slog.w(TAG, "Exception when unbinding service " + s.shortName, e); - serviceDoneExecutingLocked(s, true, true); + serviceProcessGoneLocked(s); } } @@ -1708,6 +1708,16 @@ public final class ActiveServices { } } + private void serviceProcessGoneLocked(ServiceRecord r) { + if (r.tracker != null) { + int memFactor = mAm.mProcessStats.getMemFactorLocked(); + long now = SystemClock.uptimeMillis(); + r.tracker.setExecuting(false, memFactor, now); + r.tracker.setBound(false, memFactor, now); + } + serviceDoneExecutingLocked(r, true, true); + } + private void serviceDoneExecutingLocked(ServiceRecord r, boolean inDestroying, boolean finishing) { if (DEBUG_SERVICE) Slog.v(TAG, "<<< DONE EXECUTING " + r @@ -1747,7 +1757,7 @@ public final class ActiveServices { r.tracker.setExecuting(false, mAm.mProcessStats.getMemFactorLocked(), SystemClock.uptimeMillis()); if (finishing) { - r.tracker.clearCurrentOwner(r); + r.tracker.clearCurrentOwner(r, false); r.tracker = null; } } diff --git a/services/java/com/android/server/am/ServiceRecord.java b/services/java/com/android/server/am/ServiceRecord.java index c47c1ac..cc1172a 100644 --- a/services/java/com/android/server/am/ServiceRecord.java +++ b/services/java/com/android/server/am/ServiceRecord.java @@ -335,12 +335,7 @@ final class ServiceRecord extends Binder { public void forceClearTracker() { if (tracker != null) { - int memFactor = ams.mProcessStats.getMemFactorLocked(); - long now = SystemClock.uptimeMillis(); - tracker.setStarted(false, memFactor, now); - tracker.setBound(false, memFactor, now); - tracker.setExecuting(false, memFactor, now); - tracker.clearCurrentOwner(this); + tracker.clearCurrentOwner(this, true); tracker = null; } } diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java index 377c390..92fc6a4 100644 --- a/services/java/com/android/server/pm/Settings.java +++ b/services/java/com/android/server/pm/Settings.java @@ -2473,7 +2473,8 @@ final class Settings { } else if (tagName.equals("signing-keyset")) { long id = Long.parseLong(parser.getAttributeValue(null, "identifier")); packageSetting.keySetData.addSigningKeySet(id); - Slog.d(TAG, "Adding signing keyset " + Long.toString(id) + " to " + name); + if (false) Slog.d(TAG, "Adding signing keyset " + Long.toString(id) + + " to " + name); } else if (tagName.equals("defined-keyset")) { long id = Long.parseLong(parser.getAttributeValue(null, "identifier")); String alias = parser.getAttributeValue(null, "alias"); |