diff options
| author | 2022-01-11 22:02:23 +0000 | |
|---|---|---|
| committer | 2022-01-11 22:02:23 +0000 | |
| commit | a1ecc3eb6ede76b81eb3734e4ead86c7cafcd69a (patch) | |
| tree | 3ac1db20e74778684c268d1b4796816d35da288d | |
| parent | 2b716e63f4030548706fb868fbf87779e1623fc3 (diff) | |
| parent | 9324843875fd8d22a8f712451b7b64ba74c94122 (diff) | |
Merge "Don't abandon child sessions (1/n)" into sc-qpr1-dev
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerService.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 7fdeb27203bd..2f1fa2221e98 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -388,7 +388,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements if (age >= MAX_SESSION_AGE_ON_LOW_STORAGE_MILLIS) { // Aggressively close old sessions because we are running low on storage // Their staging dirs will be removed too - session.abandon(); + PackageInstallerSession root = !session.hasParentSessionId() + ? session : mSessions.get(session.getParentSessionId()); + if (!root.isDestroyed()) { + root.abandon(); + } } else { // Session is new enough, so it deserves to be kept even on low storage unclaimedStagingDirsOnVolume.remove(session.stageDir); |