Pause watchdog triggering on the main thread during package scan
Similar to I3876c41e6d0e41d044a5b1d5e57f894c7fb4fb0e and I69067fbbb8be4e421918c18b67269044fab51b3e where we pause the watchdog because dexopting and moving A/B artifacts can take a while, here scanning packages can take a long time depending on the number of apps installed on the device. Bug: 135103243 Test: Manually tested by adding an artificial sleep in PackageManagerService#main and verified that watchdog was not triggered Change-Id: Ia5b2b5741194a33f7cd09e79c0904696ce546026
This commit is contained in:
@@ -728,9 +728,16 @@ public final class SystemServer {
|
||||
MetricsLogger.histogram(null, "boot_package_manager_init_start",
|
||||
(int) SystemClock.elapsedRealtime());
|
||||
}
|
||||
|
||||
t.traceBegin("StartPackageManagerService");
|
||||
mPackageManagerService = PackageManagerService.main(mSystemContext, installer,
|
||||
mFactoryTestMode != FactoryTest.FACTORY_TEST_OFF, mOnlyCore);
|
||||
try {
|
||||
Watchdog.getInstance().pauseWatchingCurrentThread("packagemanagermain");
|
||||
mPackageManagerService = PackageManagerService.main(mSystemContext, installer,
|
||||
mFactoryTestMode != FactoryTest.FACTORY_TEST_OFF, mOnlyCore);
|
||||
} finally {
|
||||
Watchdog.getInstance().resumeWatchingCurrentThread("packagemanagermain");
|
||||
}
|
||||
|
||||
mFirstBoot = mPackageManagerService.isFirstBoot();
|
||||
mPackageManager = mSystemContext.getPackageManager();
|
||||
t.traceEnd();
|
||||
|
||||
Reference in New Issue
Block a user