diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2019-08-22 10:17:12 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-08-25 12:00:28 +0000 |
commit | fd785c3899d21dd05fd013336bbc63ce818dc2a6 (patch) | |
tree | 553dd288e83b5f984f04c2c8609ffb8b8eace2b4 /src/corelib/io/qprocess_unix.cpp | |
parent | 0d336ab3132c85781fc62b9d92dce690b8ff9d59 (diff) |
QtCore: port all QMutexLocker users to qt_{scoped,unique}_lock
... except four instances in QCoreApplication that would conflict with
another change.
Replace a locally-defined MutexUnlocker with a call to unlock() +
qScopedGuard'ed lock() to avoid having to spell out the locker type
while we can't depend on C++17 CTAD, yet.
In QSettings, move the new mutex locker into and out of
initDefaultPaths(), such as is idiomatic for std::unique_lock, but
wasn't possible with QMutexLocker (which is not movable).
Change-Id: I23056e13ecaa76159db583c7dccc6e05715e0788
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/corelib/io/qprocess_unix.cpp')
-rw-r--r-- | src/corelib/io/qprocess_unix.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 951fc4ccaa..0c80daa024 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -89,6 +89,7 @@ QT_END_NAMESPACE #include "qprocess_p.h" #include "qstandardpaths.h" #include "private/qcore_unix_p.h" +#include "private/qlocking_p.h" #ifdef Q_OS_MAC #include <private/qcore_mac_p.h> @@ -404,7 +405,7 @@ void QProcessPrivate::startProcess() // CFBundle is not reentrant, since CFBundleCreate might return a reference // to a cached bundle object. Protect the bundle calls with a mutex lock. static QBasicMutex cfbundleMutex; - QMutexLocker lock(&cfbundleMutex); + const auto locker = qt_scoped_lock(cfbundleMutex); QCFType<CFBundleRef> bundle = CFBundleCreate(0, url); // 'executableURL' can be either relative or absolute ... QCFType<CFURLRef> executableURL = CFBundleCopyExecutableURL(bundle); |