#include "syncableobject.h"
#if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC)
+# define BUILD_CRASHHANDLER
# include <execinfo.h>
# include <dlfcn.h>
# include <cxxabi.h>
signal(SIGTERM, handleSignal);
signal(SIGINT, handleSignal);
-#if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC)
+#ifdef BUILD_CRASHHANDLER
signal(SIGABRT, handleSignal);
signal(SIGBUS, handleSignal);
signal(SIGSEGV, handleSignal);
QCoreApplication::quit();
break;
+#ifdef BUILD_CRASHHANDLER
case SIGABRT:
case SIGBUS:
case SIGSEGV:
handleCrash();
+#endif
break;
default:
break;
}
void Quassel::handleCrash() {
-#if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC)
+#ifdef BUILD_CRASHHANDLER
void* callstack[128];
int i, frames = backtrace(callstack, 128);
}
dumpFile.close();
exit(27);
-#endif // #if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC)
+#endif /* BUILD_CRASHHANDLER */
}
// FIXME temporary