diff options
author | Kenny Root <kroot@google.com> | 2010-07-28 14:47:01 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2011-04-12 13:08:12 -0700 |
commit | 868cee7672ab7186c0aaa51e871f82eeff143d7b (patch) | |
tree | 3e8dda21bc60c905bea1ccb13e40d4e5b4d81fbb | |
parent | c5fd90339025d77dc08b2b1f081e851c0bc273b2 (diff) | |
download | base-868cee7672ab7186c0aaa51e871f82eeff143d7b.tar.gz |
Remove stale temporary ASEC containersandroid-cts-2.2_r6
When a temporary container is created, its existence should be
ephemeral. However, if there is an error that causes system_server to be
killed during the process of creating a finalized ASEC, delete the stale
containers on the next start-up of system_server.
Change-Id: I429dfe1e4b592595865235e83b6055aa8c3126ae
-rw-r--r-- | services/java/com/android/server/PackageManagerService.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index 78629607e90b..3489fe91c602 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -9702,10 +9702,15 @@ class PackageManagerService extends IPackageManager.Stub { if (doGc) { Runtime.getRuntime().gc(); } - // List stale containers. + // List stale containers and destroy stale temporary containers. if (removeCids != null) { for (String cid : removeCids) { - Log.w(TAG, "Container " + cid + " is stale"); + if (cid.startsWith(mTempContainerPrefix)) { + Log.i(TAG, "Destroying stale temporary container " + cid); + PackageHelper.destroySdDir(cid); + } else { + Log.w(TAG, "Container " + cid + " is stale"); + } } } } |