sal/osl/unx/signal.cxx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
New commits: commit 20339900683f0d29f5235ebd494e29bc62b053fd Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Wed Mar 15 03:06:16 2017 +0100 workaround for breakpad signal handler on linux The breakpad signal handler is overwritten by our own signal handler during startup. As a workaround we use the same approach as in the windows code and add call the old signal handler if a crash was registered. Change-Id: I1179fd9cba851734aa1686168f231cf68de57c1a Reviewed-on: https://gerrit.libreoffice.org/35226 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com> diff --git a/sal/osl/unx/signal.cxx b/sal/osl/unx/signal.cxx index 2cf6d7e..55c7765 100644 --- a/sal/osl/unx/signal.cxx +++ b/sal/osl/unx/signal.cxx @@ -445,6 +445,30 @@ void signalHandlerFunction(int signal, siginfo_t * info, void * context) break; } +#if HAVE_FEATURE_BREAKPAD + if (Info.Signal == osl_Signal_AccessViolation || + Info.Signal == osl_Signal_IntegerDivideByZero || + Info.Signal == osl_Signal_FloatDivideByZero) + { + for (SignalAction & rSignal : Signals) + { + if (rSignal.Signal == signal) + { + if (rSignal.siginfo) + { + (*reinterpret_cast<Handler2>(rSignal.Handler))( + signal, info, context); + } + else + { + rSignal.Handler(signal); + } + break; + } + } + } +#endif + switch (callSignalHandler(&Info)) { case osl_Signal_ActCallNextHdl: _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits