From e913b690b9c87a24e69085f707886ee066d1b616 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 22 Aug 2019 10:17:12 +0200 Subject: QtDBus: port all QMutexLocker users to qt_{scoped,unique}_lock Change-Id: Ibba27351a81b0b132ce702c1dfd49d56f23bd8c1 Reviewed-by: Thiago Macieira --- src/dbus/qdbus_symbols.cpp | 3 ++- src/dbus/qdbusconnection.cpp | 13 +++++++------ src/dbus/qdbusintegrator.cpp | 7 ++++--- src/dbus/qdbuspendingcall.cpp | 15 ++++++++------- src/dbus/qdbuspendingreply.cpp | 4 +++- src/dbus/qdbusserver.cpp | 4 +++- 6 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/dbus/qdbus_symbols.cpp b/src/dbus/qdbus_symbols.cpp index f22696639d..284ba999c2 100644 --- a/src/dbus/qdbus_symbols.cpp +++ b/src/dbus/qdbus_symbols.cpp @@ -41,6 +41,7 @@ #include #if QT_CONFIG(library) #include +#include #endif #include @@ -80,7 +81,7 @@ bool qdbus_loadLibDBus() static bool triedToLoadLibrary = false; static QBasicMutex mutex; - QMutexLocker locker(&mutex); + const auto locker = qt_scoped_lock(mutex); QLibrary *&lib = qdbus_libdbus; if (triedToLoadLibrary) diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index 2c2dfc1ff6..58b5af3615 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -47,6 +47,7 @@ #include #include #include +#include #include "qdbusconnectioninterface.h" #include "qdbuserror.h" @@ -106,7 +107,7 @@ QDBusConnectionPrivate *QDBusConnectionManager::busConnection(QDBusConnection::B // (the event loop will resume delivery) bool suspendedDelivery = qApp && qApp->thread() == QThread::currentThread(); - QMutexLocker lock(&defaultBusMutex); + const auto locker = qt_scoped_lock(defaultBusMutex); if (defaultBuses[type]) return defaultBuses[type]; @@ -178,7 +179,7 @@ void QDBusConnectionManager::run() exec(); // cleanup: - QMutexLocker locker(&mutex); + const auto locker = qt_scoped_lock(mutex); for (QHash::const_iterator it = connectionHash.constBegin(); it != connectionHash.constEnd(); ++it) { QDBusConnectionPrivate *d = it.value(); @@ -240,7 +241,7 @@ QDBusConnectionPrivate *QDBusConnectionManager::connectToPeer(const QString &add void QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData *data) { - QMutexLocker locker(&mutex); + const auto locker = qt_scoped_lock(mutex); const QString &name = *data->name; QDBusConnectionPrivate *&d = data->result; @@ -428,7 +429,7 @@ QDBusConnection::QDBusConnection(const QString &name) if (name.isEmpty() || _q_manager.isDestroyed()) { d = 0; } else { - QMutexLocker locker(&_q_manager()->mutex); + const auto locker = qt_scoped_lock(_q_manager()->mutex); d = _q_manager()->connection(name); if (d) d->ref.ref(); @@ -537,7 +538,7 @@ QDBusConnection QDBusConnection::connectToPeer(const QString &address, void QDBusConnection::disconnectFromBus(const QString &name) { if (_q_manager()) { - QMutexLocker locker(&_q_manager()->mutex); + const auto locker = qt_scoped_lock(_q_manager()->mutex); QDBusConnectionPrivate *d = _q_manager()->connection(name); if (d && d->mode != QDBusConnectionPrivate::ClientMode) return; @@ -558,7 +559,7 @@ void QDBusConnection::disconnectFromBus(const QString &name) void QDBusConnection::disconnectFromPeer(const QString &name) { if (_q_manager()) { - QMutexLocker locker(&_q_manager()->mutex); + const auto locker = qt_scoped_lock(_q_manager()->mutex); QDBusConnectionPrivate *d = _q_manager()->connection(name); if (d && d->mode != QDBusConnectionPrivate::PeerMode) return; diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 9306498f89..4c27a93382 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -49,6 +49,7 @@ #include #include #include +#include #include "qdbusargument.h" #include "qdbusconnection_p.h" @@ -304,7 +305,7 @@ static void qDBusNewConnection(DBusServer *server, DBusConnection *connection, v q_dbus_connection_set_allow_anonymous(connection, true); QDBusConnectionPrivate *newConnection = new QDBusConnectionPrivate(serverConnection->parent()); - QMutexLocker locker(&QDBusConnectionManager::instance()->mutex); + const auto locker = qt_scoped_lock(QDBusConnectionManager::instance()->mutex); QDBusConnectionManager::instance()->setConnection(QLatin1String("QDBusServer-") + QString::number(reinterpret_cast(newConnection), 16), newConnection); serverConnection->serverConnectionNames << newConnection->name; @@ -1862,7 +1863,7 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call) { QDBusConnectionPrivate *connection = const_cast(call->connection); - QMutexLocker locker(&call->mutex); + auto locker = qt_unique_lock(call->mutex); connection->pendingCalls.removeOne(call); @@ -1979,7 +1980,7 @@ public: #endif static bool initializedAmounts = false; static QBasicMutex initializeMutex; - QMutexLocker locker(&initializeMutex); + auto locker = qt_unique_lock(initializeMutex); if (!initializedAmounts) { int tmp = 0; diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp index 7c2238900c..8e604d5a77 100644 --- a/src/dbus/qdbuspendingcall.cpp +++ b/src/dbus/qdbuspendingcall.cpp @@ -47,6 +47,7 @@ #include "qcoreapplication.h" #include "qcoreevent.h" #include +#include #ifndef QT_NO_DBUS @@ -232,7 +233,7 @@ void QDBusPendingCallPrivate::checkReceivedSignature() void QDBusPendingCallPrivate::waitForFinished() { - QMutexLocker locker(&mutex); + const auto locker = qt_scoped_lock(mutex); if (replyMessage.type() != QDBusMessage::InvalidMessage) return; // already finished @@ -330,7 +331,7 @@ bool QDBusPendingCall::isFinished() const if (!d) return true; // considered finished - QMutexLocker locker(&d->mutex); + const auto locker = qt_scoped_lock(d->mutex); return d->replyMessage.type() != QDBusMessage::InvalidMessage; } @@ -352,7 +353,7 @@ bool QDBusPendingCall::isValid() const { if (!d) return false; - QMutexLocker locker(&d->mutex); + const auto locker = qt_scoped_lock(d->mutex); return d->replyMessage.type() == QDBusMessage::ReplyMessage; } @@ -369,7 +370,7 @@ bool QDBusPendingCall::isError() const { if (!d) return true; // considered finished and an error - QMutexLocker locker(&d->mutex); + const auto locker = qt_scoped_lock(d->mutex); return d->replyMessage.type() == QDBusMessage::ErrorMessage; } @@ -384,7 +385,7 @@ bool QDBusPendingCall::isError() const QDBusError QDBusPendingCall::error() const { if (d) { - QMutexLocker locker(&d->mutex); + const auto locker = qt_scoped_lock(d->mutex); return QDBusError(d->replyMessage); } @@ -409,7 +410,7 @@ QDBusMessage QDBusPendingCall::reply() const { if (!d) return QDBusMessage::createError(error()); - QMutexLocker locker(&d->mutex); + const auto locker = qt_scoped_lock(d->mutex); return d->replyMessage; } @@ -503,7 +504,7 @@ QDBusPendingCallWatcher::QDBusPendingCallWatcher(const QDBusPendingCall &call, Q : QObject(*new QDBusPendingCallWatcherPrivate, parent), QDBusPendingCall(call) { if (d) { // QDBusPendingCall::d - QMutexLocker locker(&d->mutex); + const auto locker = qt_scoped_lock(d->mutex); if (!d->watcherHelper) { d->watcherHelper = new QDBusPendingCallWatcherHelper; if (d->replyMessage.type() != QDBusMessage::InvalidMessage) { diff --git a/src/dbus/qdbuspendingreply.cpp b/src/dbus/qdbuspendingreply.cpp index 6aec571563..ec49bafb60 100644 --- a/src/dbus/qdbuspendingreply.cpp +++ b/src/dbus/qdbuspendingreply.cpp @@ -42,6 +42,8 @@ #include "qdbuspendingcall_p.h" #include "qdbusmetatype.h" +#include + #ifndef QT_NO_DBUS /*! @@ -277,7 +279,7 @@ QVariant QDBusPendingReplyData::argumentAt(int index) const void QDBusPendingReplyData::setMetaTypes(int count, const int *types) { Q_ASSERT(d); - QMutexLocker locker(&d->mutex); + const auto locker = qt_scoped_lock(d->mutex); d->setMetaTypes(count, types); d->checkReceivedSignature(); } diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp index 2899fb7bea..f2607e3e8d 100644 --- a/src/dbus/qdbusserver.cpp +++ b/src/dbus/qdbusserver.cpp @@ -43,6 +43,8 @@ #include "qdbusconnectionmanager_p.h" #include "qdbusutil_p.h" +#include + #ifndef QT_NO_DBUS QT_BEGIN_NAMESPACE @@ -111,7 +113,7 @@ QDBusServer::~QDBusServer() { QWriteLocker locker(&d->lock); if (QDBusConnectionManager::instance()) { - QMutexLocker locker(&QDBusConnectionManager::instance()->mutex); + const auto locker = qt_scoped_lock(QDBusConnectionManager::instance()->mutex); for (const QString &name : qAsConst(d->serverConnectionNames)) QDBusConnectionManager::instance()->removeConnection(name); d->serverConnectionNames.clear(); -- cgit v1.2.3