From 25d6f312ac5b42a6bbca4d1c3c06742d97283e14 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Sat, 16 Jul 2016 14:49:19 +0200 Subject: qFatal: unify the code path for aborting via std::abort [ChangeLog][QtCore][Important behavior changes] qFatal will now use std::abort to terminate the application on all operating systems. Previously, ::abort() or ::exit(1) were called, depending on the operating system. Change-Id: I43da912cce1db3c2229568da25000ea80060eed9 Reviewed-by: Thiago Macieira --- src/corelib/global/qglobal.cpp | 2 +- src/corelib/global/qlogging.cpp | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'src/corelib/global') diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 55b3fde55e..03216358aa 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -4479,7 +4479,7 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters) On QNX the message is sent to slogger2 If you are using the \b{default message handler} this function will - abort on Unix systems to create a core dump. On Windows, for debug builds, + abort to create a core dump. On Windows, for debug builds, this function will report a _CRT_ERROR enabling you to connect a debugger to the application. diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp index 3aee15051f..a6da9567c6 100644 --- a/src/corelib/global/qlogging.cpp +++ b/src/corelib/global/qlogging.cpp @@ -140,6 +140,8 @@ static QT_PREPEND_NAMESPACE(qint64) qt_gettid() #endif #endif // !QT_BOOTSTRAPPED +#include + #include QT_BEGIN_NAMESPACE @@ -1676,11 +1678,7 @@ static void qt_message_fatal(QtMsgType, const QMessageLogContext &context, const Q_UNUSED(message); #endif -#if (defined(Q_OS_UNIX) || defined(Q_CC_MINGW)) - abort(); // trap; generates core dump -#else - exit(1); // goodbye cruel world -#endif + std::abort(); } -- cgit v1.2.3