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>
This commit is contained in:
parent
af32768f18
commit
3ffc1f9775
@ -184,6 +184,13 @@ static int checked_var_value(const char *varname)
|
|||||||
return ok ? value : 1;
|
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)
|
static bool isFatal(QtMsgType msgType)
|
||||||
{
|
{
|
||||||
if (msgType == QtFatalMsg)
|
if (msgType == QtFatalMsg)
|
||||||
@ -191,18 +198,12 @@ static bool isFatal(QtMsgType msgType)
|
|||||||
|
|
||||||
if (msgType == QtCriticalMsg) {
|
if (msgType == QtCriticalMsg) {
|
||||||
static QAtomicInt fatalCriticals = checked_var_value("QT_FATAL_CRITICALS");
|
static QAtomicInt fatalCriticals = checked_var_value("QT_FATAL_CRITICALS");
|
||||||
|
return is_fatal_count_down(fatalCriticals);
|
||||||
// it's fatal if the current value is exactly 1,
|
|
||||||
// otherwise decrement if it's non-zero
|
|
||||||
return fatalCriticals.loadRelaxed() && fatalCriticals.fetchAndAddRelaxed(-1) == 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msgType == QtWarningMsg || msgType == QtCriticalMsg) {
|
if (msgType == QtWarningMsg || msgType == QtCriticalMsg) {
|
||||||
static QAtomicInt fatalWarnings = checked_var_value("QT_FATAL_WARNINGS");
|
static QAtomicInt fatalWarnings = checked_var_value("QT_FATAL_WARNINGS");
|
||||||
|
return is_fatal_count_down(fatalWarnings);
|
||||||
// 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 false;
|
return false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user