summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qlogging.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-07-05 07:42:19 +0200
committerMarc Mutz <marc.mutz@qt.io>2023-07-05 11:03:44 +0000
commit3ffc1f9775cde1369ebdfcfa91ec18c393c24260 (patch)
treec78fbd5a3395a2ada568359b6db7363d5f9d7a4e /src/corelib/global/qlogging.cpp
parentaf32768f18f8fed1ce3d06a6bad5fd65d0574a3a (diff)
QLogging: DRY isFatal(QtMsgType)
Extract Method on the count-down algorithm of fatalCriticals and fatalWarnings, so we don't have the repeat the calculation and the comment. Task-number: QTBUG-115062 Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I4bcbc2f5a21b999e7f301085581677b437a889e9 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Diffstat (limited to 'src/corelib/global/qlogging.cpp')
-rw-r--r--src/corelib/global/qlogging.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp
index 4cc4505574d..e16a9f9f18f 100644
--- a/src/corelib/global/qlogging.cpp
+++ b/src/corelib/global/qlogging.cpp
@@ -184,6 +184,13 @@ static int checked_var_value(const char *varname)
return ok ? value : 1;
}
+static bool is_fatal_count_down(QAtomicInt &n)
+{
+ // it's fatal if the current value is exactly 1,
+ // otherwise decrement if it's non-zero
+ return n.loadRelaxed() && n.fetchAndAddRelaxed(-1) == 1;
+}
+
static bool isFatal(QtMsgType msgType)
{
if (msgType == QtFatalMsg)
@@ -191,18 +198,12 @@ static bool isFatal(QtMsgType msgType)
if (msgType == QtCriticalMsg) {
static QAtomicInt fatalCriticals = checked_var_value("QT_FATAL_CRITICALS");
-
- // it's fatal if the current value is exactly 1,
- // otherwise decrement if it's non-zero
- return fatalCriticals.loadRelaxed() && fatalCriticals.fetchAndAddRelaxed(-1) == 1;
+ return is_fatal_count_down(fatalCriticals);
}
if (msgType == QtWarningMsg || msgType == QtCriticalMsg) {
static QAtomicInt fatalWarnings = checked_var_value("QT_FATAL_WARNINGS");
-
- // it's fatal if the current value is exactly 1,
- // otherwise decrement if it's non-zero
- return fatalWarnings.loadRelaxed() && fatalWarnings.fetchAndAddRelaxed(-1) == 1;
+ return is_fatal_count_down(fatalWarnings);
}
return false;