Use atomic_bool and drop QMutex locking

Change-Id: I70d472b0de717467c53bbb29cc407367b7e80e7f
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2021-02-18 18:17:08 +01:00
parent e4fba42a8a
commit ee77958998
2 changed files with 3 additions and 7 deletions

View File

@@ -47,9 +47,7 @@ MakefileParser::~MakefileParser()
bool MakefileParser::parse() bool MakefileParser::parse()
{ {
m_mutex.lock();
m_cancel = false; m_cancel = false;
m_mutex.unlock();
m_success = true; m_success = true;
m_executable.clear(); m_executable.clear();
@@ -125,13 +123,11 @@ QStringList MakefileParser::cxxflags() const
void MakefileParser::cancel() void MakefileParser::cancel()
{ {
QMutexLocker locker(&m_mutex);
m_cancel = true; m_cancel = true;
} }
bool MakefileParser::isCanceled() const bool MakefileParser::isCanceled() const
{ {
QMutexLocker locker(&m_mutex);
return m_cancel; return m_cancel;
} }

View File

@@ -29,12 +29,13 @@
#include <projectexplorer/projectmacro.h> #include <projectexplorer/projectmacro.h>
#include <QMutex>
#include <QStringList> #include <QStringList>
#include <QTextStream> #include <QTextStream>
#include <QObject> #include <QObject>
#include <QVector> #include <QVector>
#include <atomic>
QT_FORWARD_DECLARE_CLASS(QDir) QT_FORWARD_DECLARE_CLASS(QDir)
namespace AutotoolsProjectManager { namespace AutotoolsProjectManager {
@@ -264,8 +265,7 @@ private:
bool m_success = false; ///< Return value for MakefileParser::parse(). bool m_success = false; ///< Return value for MakefileParser::parse().
bool m_cancel = false; ///< True, if the parsing should be cancelled. std::atomic_bool m_cancel = false; ///< True, if the parsing should be cancelled.
mutable QMutex m_mutex; ///< Mutex to protect m_cancel.
QString m_makefile; ///< Filename of the makefile QString m_makefile; ///< Filename of the makefile
QString m_executable; ///< Return value for MakefileParser::executable() QString m_executable; ///< Return value for MakefileParser::executable()