From 0ac5e9c30ee3f3c8772a9f21e168c34a1e2f4b1b Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 5 Jul 2018 11:22:34 +0200 Subject: [PATCH] SynchronousProcess: Make runBlocking more robust Make runBlocking handle the case where the process starts up too fast for waitForStarted. Change-Id: Id8f3522c7c23bc8d7cdbbc94da6fa6c0b8e45454 Reviewed-by: David Schulz --- src/libs/utils/synchronousprocess.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index 732a8e2a30c..e1ee97d26b1 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -488,7 +488,8 @@ SynchronousProcessResponse SynchronousProcess::runBlocking(const QString &binary // event loop in that case. d->m_binary = binary; d->m_process.start(binary, args, QIODevice::ReadOnly); - if (!d->m_process.waitForStarted(d->m_maxHangTimerCount * 1000)) { + if (!d->m_process.waitForStarted(d->m_maxHangTimerCount * 1000) + && d->m_process.state() == QProcess::NotRunning) { d->m_result.result = SynchronousProcessResponse::StartFailed; return d->m_result; }