diff options
author | Oswald Buddenhagen <oswald.buddenhagen@gmx.de> | 2020-12-09 18:52:45 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@gmx.de> | 2020-12-11 14:47:00 +0000 |
commit | 65fb83089e3c50ca0e59524b700703e676560eca (patch) | |
tree | 5fea08e361e702d16c32232ac1bae6fe5022f3f3 | |
parent | ef3821c6b90870c1ec86af6faaff09cffb2b360a (diff) |
fix waiting in SynchronousProcess::runBlocking()
the conditions on the waitForFinished() calls were inverted. the visible
effect of this was that 'Hang' was never reported.
Change-Id: I9937fce58189eebf891000840597158b4bffd028
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
-rw-r--r-- | src/libs/utils/synchronousprocess.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index f7629238e7..9f52033e43 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -537,11 +537,11 @@ SynchronousProcessResponse SynchronousProcess::runBlocking(const CommandLine &cm return d->m_result; } d->m_process.closeWriteChannel(); - if (d->m_process.waitForFinished(d->m_maxHangTimerCount * 1000)) { + if (!d->m_process.waitForFinished(d->m_maxHangTimerCount * 1000)) { if (d->m_process.state() == QProcess::Running) { d->m_result.result = SynchronousProcessResponse::Hang; d->m_process.terminate(); - if (d->m_process.waitForFinished(1000) && d->m_process.state() == QProcess::Running) { + if (!d->m_process.waitForFinished(1000) && d->m_process.state() == QProcess::Running) { d->m_process.kill(); d->m_process.waitForFinished(1000); } |