[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