[Libreoffice-commits] core.git: sal/osl
Markus Mohrhard
markus.mohrhard at googlemail.com
Wed Mar 15 16:32:38 UTC 2017
sal/osl/unx/signal.cxx | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
New commits:
commit 8d18a78e91778db61db280f596011bfe0a80d570
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Wed Mar 15 03:15:01 2017 +0100
improve the breakpad signal handler in dbgutil builds
Change-Id: I253058dbfc9e156bc778c23d491b642c538606f2
Reviewed-on: https://gerrit.libreoffice.org/35227
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/sal/osl/unx/signal.cxx b/sal/osl/unx/signal.cxx
index 55c7765..f4c9a9c 100644
--- a/sal/osl/unx/signal.cxx
+++ b/sal/osl/unx/signal.cxx
@@ -177,6 +177,20 @@ bool is_soffice_Impl()
return (idx != -1);
}
+#if HAVE_FEATURE_BREAKPAD
+bool is_unset_signal(int signal)
+{
+#ifdef DBG_UTIL
+ return (!bSetSEGVHandler && signal == SIGSEGV) ||
+ (!bSetWINCHHandler && signal == SIGWINCH) ||
+ (!bSetILLHandler && signal == SIGILL);
+#else
+ (void) signal;
+ return false;
+#endif
+}
+#endif
+
}
bool onInitSignal()
@@ -446,9 +460,9 @@ void signalHandlerFunction(int signal, siginfo_t * info, void * context)
}
#if HAVE_FEATURE_BREAKPAD
- if (Info.Signal == osl_Signal_AccessViolation ||
+ if ((Info.Signal == osl_Signal_AccessViolation ||
Info.Signal == osl_Signal_IntegerDivideByZero ||
- Info.Signal == osl_Signal_FloatDivideByZero)
+ Info.Signal == osl_Signal_FloatDivideByZero) && !is_unset_signal(signal))
{
for (SignalAction & rSignal : Signals)
{
More information about the Libreoffice-commits
mailing list