From f3c4614d1f94969076a60bb24c85bfb9cc214d23 Mon Sep 17 00:00:00 2001 From: Zimuzo Date: Fri, 31 May 2019 12:46:12 +0100 Subject: [PATCH] Pause watchdog triggering on the main thread during OtaDexoptService Similar to I3876c41e6d0e41d044a5b1d5e57f894c7fb4fb0e where we pause the watchdog because dexopting can take a while, here moving A/B artificats can take a long time. Bug: 134062700 Test: Manually tested by adding an artificial sleep in OtaDexoptService#main and verified that watchdog was not triggered Change-Id: I69067fbbb8be4e421918c18b67269044fab51b3e --- services/java/com/android/server/SystemServer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 4e1cac905178e..203704bf72243 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -749,10 +749,12 @@ public final class SystemServer { if (!disableOtaDexopt) { traceBeginAndSlog("StartOtaDexOptService"); try { + Watchdog.getInstance().pauseWatchingCurrentThread("moveab"); OtaDexoptService.main(mSystemContext, mPackageManagerService); } catch (Throwable e) { reportWtf("starting OtaDexOptService", e); } finally { + Watchdog.getInstance().resumeWatchingCurrentThread("moveab"); traceEnd(); } }