[Libreoffice-commits] core.git: solenv/gbuild vcl/source

Norbert Thiebaud nthiebaud at gmail.com
Fri May 27 22:55:51 UTC 2016


 solenv/gbuild/platform/unxgcc.mk |    3 +++
 vcl/source/app/svmain.cxx        |    5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 9d2f7be4e65595241db3cf5135b69bd9e4ce6a30
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Thu May 19 13:35:13 2016 -0500

    shortcut the signal handler during batch test
    
    Change-Id: I7848555743e8d54e755dc82cbf0148eeed54110f
    Reviewed-on: https://gerrit.libreoffice.org/25178
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
    Tested-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 278006b..bc44906 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -17,6 +17,9 @@
 #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 #
 
+# to block heavy exception handling that try to acquire the solarmutex
+export LO_LEAN_EXCEPTION=1
+
 include $(GBUILDDIR)/platform/com_GCC_defs.mk
 
 gb_MKTEMP := mktemp -t gbuild.XXXXXX
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index 2b315b2..69ab53b 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -95,6 +95,8 @@
 
 using namespace ::com::sun::star;
 
+static bool g_bIsLeanException;
+
 static bool isInitVCL();
 
 oslSignalAction SAL_CALL VCLExceptionSignal_impl( void* /*pData*/, oslSignalInfo* pInfo)
@@ -102,7 +104,7 @@ oslSignalAction SAL_CALL VCLExceptionSignal_impl( void* /*pData*/, oslSignalInfo
     static volatile bool bIn = false;
 
     // if we crash again, bail out immediately
-    if ( bIn )
+    if ( bIn  || g_bIsLeanException)
         return osl_Signal_ActCallNextHdl;
 
     ExceptionCategory nVCLException = ExceptionCategory::NONE;
@@ -302,6 +304,7 @@ bool InitVCL()
     pSVData->maGDIData.mpScreenFontCache    = new ImplFontCache;
     pSVData->maGDIData.mpGrfConverter       = new GraphicConverter;
 
+    g_bIsLeanException = getenv("LO_LEAN_EXCEPTION") ? true : false;
     // Set exception handler
     pExceptionHandler = osl_addSignalHandler(VCLExceptionSignal_impl, nullptr);
 


More information about the Libreoffice-commits mailing list