diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2020-09-05 16:31:37 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2020-09-08 09:56:36 +0200 |
commit | e8eaf5e287efb304590b1821a2a738ddcdebe9fe (patch) | |
tree | e37d92c00bd1427e4bcf5e0d816f6ec4db8ebb5b /vcl | |
parent | c2275ee554cae1cf4909a4fc12be4be127be011e (diff) |
longer watchdog timeouts for debug Skia build
Skia runs internal checks, which occassionally actually may take
a bit. Also abort() in dbgutil build already in case the watchdog
disables Skia, to make finding these easier.
Change-Id: I9ed09c57414e056de20a561b6945cba930edd37b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102096
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/skia/zone.cxx | 8 | ||||
-rw-r--r-- | vcl/source/app/watchdog.cxx | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/vcl/skia/zone.cxx b/vcl/skia/zone.cxx index 0271608f5ba4..34e3f80f8b78 100644 --- a/vcl/skia/zone.cxx +++ b/vcl/skia/zone.cxx @@ -18,6 +18,8 @@ #include <vcl/skia/SkiaHelper.hxx> +#include <config_skia.h> + /** * Called from a signal handler or watchdog thread if we get * a crash or hang in some driver. @@ -59,7 +61,13 @@ const CrashWatchdogTimingsValues& SkiaZone::getCrashWatchdogTimingsValues() { case SkiaHelper::RenderVulkan: { +#if defined(SK_RELEASE) static const CrashWatchdogTimingsValues vulkanValues = { 6, 20 }; /* 1.5s, 5s */ +#elif defined(SK_DEBUG) + static const CrashWatchdogTimingsValues vulkanValues = { 60, 200 }; /* 15s, 50s */ +#else +#error Unknown Skia debug/release setting. +#endif return vulkanValues; } case SkiaHelper::RenderRaster: diff --git a/vcl/source/app/watchdog.cxx b/vcl/source/app/watchdog.cxx index f43f708b1eb4..b14611e227ca 100644 --- a/vcl/source/app/watchdog.cxx +++ b/vcl/source/app/watchdog.cxx @@ -57,8 +57,12 @@ template <typename Zone> struct WatchdogHelper { gbWatchdogFiring = true; SAL_WARN("vcl.watchdog", "Watchdog triggered: hard disable " << Zone::name()); +#ifdef DBG_UTIL + std::abort(); +#else Zone::hardDisable(); gbWatchdogFiring = false; +#endif } bFired = true; |