Make Qt4ProejctManager::MakeStep::run multithreading safe

Change-Id: I416360d35681d2721878cb9fefd861d6e1f209b4
Reviewed-on: http://codereview.qt-project.org/5451
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
Daniel Teske
2011-09-22 12:59:31 +02:00
parent e1b275c079
commit b96d7b9bd8
3 changed files with 8 additions and 3 deletions

View File

@@ -152,6 +152,11 @@ ProjectExplorer::IOutputParser *AbstractProcessStep::outputParser() const
return m_outputParserChain; return m_outputParserChain;
} }
bool AbstractProcessStep::ignoreReturnValue()
{
return m_ignoreReturnValue;
}
/*! /*!
\brief If ignoreReturnValue is set to true, then the abstractprocess step will \brief If ignoreReturnValue is set to true, then the abstractprocess step will
return success even if the return value indicates otherwise. return success even if the return value indicates otherwise.

View File

@@ -68,12 +68,12 @@ public:
ProcessParameters *processParameters() { return &m_param; } ProcessParameters *processParameters() { return &m_param; }
bool ignoreReturnValue();
void setIgnoreReturnValue(bool b); void setIgnoreReturnValue(bool b);
void setOutputParser(ProjectExplorer::IOutputParser *parser); void setOutputParser(ProjectExplorer::IOutputParser *parser);
void appendOutputParser(ProjectExplorer::IOutputParser *parser); void appendOutputParser(ProjectExplorer::IOutputParser *parser);
ProjectExplorer::IOutputParser *outputParser() const; ProjectExplorer::IOutputParser *outputParser() const;
protected: protected:
AbstractProcessStep(BuildStepList *bsl, const QString &id); AbstractProcessStep(BuildStepList *bsl, const QString &id);
AbstractProcessStep(BuildStepList *bsl, AbstractProcessStep *bs); AbstractProcessStep(BuildStepList *bsl, AbstractProcessStep *bs);

View File

@@ -229,9 +229,9 @@ void MakeStep::run(QFutureInterface<bool> & fi)
} }
if (!QFileInfo(m_makeFileToCheck).exists()) { if (!QFileInfo(m_makeFileToCheck).exists()) {
if (!m_clean) if (!ignoreReturnValue())
emit addOutput(tr("Cannot find Makefile. Check your build settings."), BuildStep::MessageOutput); emit addOutput(tr("Cannot find Makefile. Check your build settings."), BuildStep::MessageOutput);
fi.reportResult(m_clean); fi.reportResult(ignoreReturnValue());
return; return;
} }