[Libreoffice-commits] core.git: compilerplugins/clang vcl/skia vcl/source
LuboÅ¡ LuÅák (via logerrit)
logerrit at kemper.freedesktop.org
Tue Sep 8 07:57:29 UTC 2020
compilerplugins/clang/checkconfigmacros.cxx | 6 +++++-
vcl/skia/zone.cxx | 8 ++++++++
vcl/source/app/watchdog.cxx | 4 ++++
3 files changed, 17 insertions(+), 1 deletion(-)
New commits:
commit e8eaf5e287efb304590b1821a2a738ddcdebe9fe
Author: Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Sat Sep 5 16:31:37 2020 +0200
Commit: Luboš Luňák <l.lunak at collabora.com>
CommitDate: Tue Sep 8 09:56:36 2020 +0200
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 at collabora.com>
diff --git a/compilerplugins/clang/checkconfigmacros.cxx b/compilerplugins/clang/checkconfigmacros.cxx
index 23f6947a3646..6daa9ed2a17e 100644
--- a/compilerplugins/clang/checkconfigmacros.cxx
+++ b/compilerplugins/clang/checkconfigmacros.cxx
@@ -67,7 +67,11 @@ void CheckConfigMacros::MacroDefined( const Token& macroToken, const MacroDirect
|| hasPathnamePrefix(filename, BUILDDIR "/config_build/") ))
{
// fprintf(stderr,"DEF: %s %s\n", macroToken.getIdentifierInfo()->getName().data(), filename );
- configMacros.insert( macroToken.getIdentifierInfo()->getName().str());
+ StringRef macro = macroToken.getIdentifierInfo()->getName();
+ // Skia #defines do not have values, but we set them in config_skia.h .
+ if( macro.startswith( "SK_" ) && loplugin::isSamePathname(filename, BUILDDIR "/config_host/config_skia.h"))
+ return;
+ configMacros.insert( macro.str());
}
}
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;
More information about the Libreoffice-commits
mailing list