Loading core/sysprop/WatchdogProperties.sysprop +5 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ module: "android.sysprop.WatchdogProperties" owner: Platform # To escape the watchdog timeout loop, fatal reboot the system when # watchdog timed out 'fatal_count' times in 'fatal_window_second' # watchdog timed out 'fatal_count' times in 'fatal_window_seconds' # seconds, if both values are not 0. Default value of both is 0. prop { api_name: "fatal_count" Loading @@ -26,8 +26,9 @@ prop { access: Readonly } # See 'fatal_count' for documentation. prop { api_name: "fatal_window_second" api_name: "fatal_window_seconds" type: Integer prop_name: "framework_watchdog.fatal_window.second" scope: Internal Loading @@ -35,9 +36,9 @@ prop { } # The fatal counting can be disabled by setting property # 'is_fatal_ignore' to true. # 'should_ignore_fatal_count' to true. prop { api_name: "is_fatal_ignore" api_name: "should_ignore_fatal_count" type: Boolean prop_name: "persist.debug.framework_watchdog.fatal_ignore" scope: Internal Loading core/sysprop/api/com.android.sysprop.watchdog-latest.txt +2 −2 Original line number Diff line number Diff line Loading @@ -7,13 +7,13 @@ props { prop_name: "framework_watchdog.fatal_count" } prop { api_name: "fatal_window_second" api_name: "fatal_window_seconds" type: Integer scope: Internal prop_name: "framework_watchdog.fatal_window.second" } prop { api_name: "is_fatal_ignore" api_name: "should_ignore_fatal_count" scope: Internal prop_name: "persist.debug.framework_watchdog.fatal_ignore" } Loading services/core/java/com/android/server/Watchdog.java +2 −2 Original line number Diff line number Diff line Loading @@ -704,7 +704,7 @@ public class Watchdog extends Thread { WatchdogDiagnostics.diagnoseCheckers(blockedCheckers); Slog.w(TAG, "*** GOODBYE!"); if (!Build.IS_USER && isCrashLoopFound() && !WatchdogProperties.is_fatal_ignore().orElse(false)) { && !WatchdogProperties.should_ignore_fatal_count().orElse(false)) { breakCrashLoop(); } Process.killProcess(Process.myPid()); Loading Loading @@ -783,7 +783,7 @@ public class Watchdog extends Thread { private boolean isCrashLoopFound() { int fatalCount = WatchdogProperties.fatal_count().orElse(0); long fatalWindowMs = TimeUnit.SECONDS.toMillis( WatchdogProperties.fatal_window_second().orElse(0)); WatchdogProperties.fatal_window_seconds().orElse(0)); if (fatalCount == 0 || fatalWindowMs == 0) { if (fatalCount != fatalWindowMs) { Slog.w(TAG, String.format("sysprops '%s' and '%s' should be set or unset together", Loading Loading
core/sysprop/WatchdogProperties.sysprop +5 −4 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ module: "android.sysprop.WatchdogProperties" owner: Platform # To escape the watchdog timeout loop, fatal reboot the system when # watchdog timed out 'fatal_count' times in 'fatal_window_second' # watchdog timed out 'fatal_count' times in 'fatal_window_seconds' # seconds, if both values are not 0. Default value of both is 0. prop { api_name: "fatal_count" Loading @@ -26,8 +26,9 @@ prop { access: Readonly } # See 'fatal_count' for documentation. prop { api_name: "fatal_window_second" api_name: "fatal_window_seconds" type: Integer prop_name: "framework_watchdog.fatal_window.second" scope: Internal Loading @@ -35,9 +36,9 @@ prop { } # The fatal counting can be disabled by setting property # 'is_fatal_ignore' to true. # 'should_ignore_fatal_count' to true. prop { api_name: "is_fatal_ignore" api_name: "should_ignore_fatal_count" type: Boolean prop_name: "persist.debug.framework_watchdog.fatal_ignore" scope: Internal Loading
core/sysprop/api/com.android.sysprop.watchdog-latest.txt +2 −2 Original line number Diff line number Diff line Loading @@ -7,13 +7,13 @@ props { prop_name: "framework_watchdog.fatal_count" } prop { api_name: "fatal_window_second" api_name: "fatal_window_seconds" type: Integer scope: Internal prop_name: "framework_watchdog.fatal_window.second" } prop { api_name: "is_fatal_ignore" api_name: "should_ignore_fatal_count" scope: Internal prop_name: "persist.debug.framework_watchdog.fatal_ignore" } Loading
services/core/java/com/android/server/Watchdog.java +2 −2 Original line number Diff line number Diff line Loading @@ -704,7 +704,7 @@ public class Watchdog extends Thread { WatchdogDiagnostics.diagnoseCheckers(blockedCheckers); Slog.w(TAG, "*** GOODBYE!"); if (!Build.IS_USER && isCrashLoopFound() && !WatchdogProperties.is_fatal_ignore().orElse(false)) { && !WatchdogProperties.should_ignore_fatal_count().orElse(false)) { breakCrashLoop(); } Process.killProcess(Process.myPid()); Loading Loading @@ -783,7 +783,7 @@ public class Watchdog extends Thread { private boolean isCrashLoopFound() { int fatalCount = WatchdogProperties.fatal_count().orElse(0); long fatalWindowMs = TimeUnit.SECONDS.toMillis( WatchdogProperties.fatal_window_second().orElse(0)); WatchdogProperties.fatal_window_seconds().orElse(0)); if (fatalCount == 0 || fatalWindowMs == 0) { if (fatalCount != fatalWindowMs) { Slog.w(TAG, String.format("sysprops '%s' and '%s' should be set or unset together", Loading