summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alex Buynytskyy <alexbuy@google.com> 2022-04-04 09:46:54 -0700
committer Alex Buynytskyy <alexbuy@google.com> 2022-04-04 20:42:21 +0000
commit4a31aa128840e152082364b455ed5dbef4a807ff (patch)
treee1504b53f0b01c97c7539b3e97f26fe26f262abc
parenta7b858cd2dd2c4843f24a3887d7269dbb0922b19 (diff)
Remove mInstallLock from dexopt.
Internal locking in installd should be sufficient. Bug: 165026324 Fixes: 165026324 Test: presubmit Change-Id: I6c249a2ebeb1960563f7045348d700add03712e1
-rw-r--r--services/core/java/com/android/server/pm/DexOptHelper.java26
1 files changed, 11 insertions, 15 deletions
diff --git a/services/core/java/com/android/server/pm/DexOptHelper.java b/services/core/java/com/android/server/pm/DexOptHelper.java
index bb2ba5cc498d..249099d122a1 100644
--- a/services/core/java/com/android/server/pm/DexOptHelper.java
+++ b/services/core/java/com/android/server/pm/DexOptHelper.java
@@ -358,9 +358,7 @@ final class DexOptHelper {
}
final long callingId = Binder.clearCallingIdentity();
try {
- synchronized (mPm.mInstallLock) {
- return performDexOptInternalWithDependenciesLI(p, pkgSetting, options);
- }
+ return performDexOptInternalWithDependenciesLI(p, pkgSetting, options);
} finally {
Binder.restoreCallingIdentity(callingId);
}
@@ -429,20 +427,18 @@ final class DexOptHelper {
throw new IllegalArgumentException("Unknown package: " + packageName);
}
- synchronized (mPm.mInstallLock) {
- Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dexopt");
+ Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dexopt");
- // Whoever is calling forceDexOpt wants a compiled package.
- // Don't use profiles since that may cause compilation to be skipped.
- final int res = performDexOptInternalWithDependenciesLI(pkg, packageState,
- new DexoptOptions(packageName,
- getDefaultCompilerFilter(),
- DexoptOptions.DEXOPT_FORCE | DexoptOptions.DEXOPT_BOOT_COMPLETE));
+ // Whoever is calling forceDexOpt wants a compiled package.
+ // Don't use profiles since that may cause compilation to be skipped.
+ final int res = performDexOptInternalWithDependenciesLI(pkg, packageState,
+ new DexoptOptions(packageName,
+ getDefaultCompilerFilter(),
+ DexoptOptions.DEXOPT_FORCE | DexoptOptions.DEXOPT_BOOT_COMPLETE));
- Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
- if (res != PackageDexOptimizer.DEX_OPT_PERFORMED) {
- throw new IllegalStateException("Failed to dexopt: " + res);
- }
+ Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
+ if (res != PackageDexOptimizer.DEX_OPT_PERFORMED) {
+ throw new IllegalStateException("Failed to dexopt: " + res);
}
}