Add a QMutex::isRecursive() const noexcept
This is source- and binary-compatible, including the marking of the existing function as noexcept. [ChangeLog][QtCore][QMutex] Made the isRecursive() method be a const function so that it can be called in const QMutex objects too. Change-Id: Ifea6e497f11a461db432ffff1448bead97c08f92 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This commit is contained in:
parent
75d65600f9
commit
0b1b06ffc0
@ -282,18 +282,21 @@ void QMutex::unlock() Q_DECL_NOTHROW
|
||||
unlockInternal();
|
||||
}
|
||||
|
||||
/*!
|
||||
\fn void QMutex::isRecursive()
|
||||
\since 5.0
|
||||
|
||||
Returns \c true if the mutex is recursive
|
||||
|
||||
*/
|
||||
bool QBasicMutex::isRecursive()
|
||||
bool QBasicMutex::isRecursive() Q_DECL_NOTHROW
|
||||
{
|
||||
return QT_PREPEND_NAMESPACE(isRecursive)(d_ptr.loadAcquire());
|
||||
}
|
||||
|
||||
/*!
|
||||
\overload
|
||||
\since 5.7
|
||||
|
||||
Returns \c true if the mutex is recursive
|
||||
*/
|
||||
bool QBasicMutex::isRecursive() const Q_DECL_NOTHROW
|
||||
{
|
||||
return QT_PREPEND_NAMESPACE(isRecursive)(d_ptr.loadAcquire());
|
||||
}
|
||||
|
||||
/*!
|
||||
\class QMutexLocker
|
||||
|
@ -75,7 +75,8 @@ public:
|
||||
return fastTryLock();
|
||||
}
|
||||
|
||||
bool isRecursive(); //### Qt6: mark const
|
||||
bool isRecursive() Q_DECL_NOTHROW; //### Qt6: remove me
|
||||
bool isRecursive() const Q_DECL_NOTHROW;
|
||||
|
||||
private:
|
||||
inline bool fastTryLock() Q_DECL_NOTHROW {
|
||||
@ -104,7 +105,8 @@ private:
|
||||
friend class QMutexData;
|
||||
};
|
||||
|
||||
class Q_CORE_EXPORT QMutex : public QBasicMutex {
|
||||
class Q_CORE_EXPORT QMutex : public QBasicMutex
|
||||
{
|
||||
public:
|
||||
enum RecursionMode { NonRecursive, Recursive };
|
||||
explicit QMutex(RecursionMode mode = NonRecursive);
|
||||
@ -114,7 +116,8 @@ public:
|
||||
bool tryLock(int timeout = 0) QT_MUTEX_LOCK_NOEXCEPT;
|
||||
void unlock() Q_DECL_NOTHROW;
|
||||
|
||||
using QBasicMutex::isRecursive;
|
||||
bool isRecursive() const Q_DECL_NOTHROW
|
||||
{ return QBasicMutex::isRecursive(); }
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(QMutex)
|
||||
@ -187,7 +190,7 @@ public:
|
||||
inline void lock() Q_DECL_NOTHROW {}
|
||||
inline bool tryLock(int timeout = 0) Q_DECL_NOTHROW { Q_UNUSED(timeout); return true; }
|
||||
inline void unlock() Q_DECL_NOTHROW {}
|
||||
inline bool isRecursive() Q_DECL_NOTHROW { return true; }
|
||||
inline bool isRecursive() const Q_DECL_NOTHROW { return true; }
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(QMutex)
|
||||
|
Loading…
x
Reference in New Issue
Block a user