From 9dd3a14f2801422d7db85effce39d0e1d91d3a09 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 20 Feb 2013 16:42:51 +0200 Subject: [PATCH] Prevent infinite loop when user chooses not to terminate hanged process Happens if the process is already terminated Change-Id: I660779dc701d1fe8b41562f68f0ce95c6e87058f Reviewed-by: Friedemann Kleint --- src/libs/utils/synchronousprocess.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index 8622f48e332..f1c811886e1 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -560,7 +560,7 @@ bool SynchronousProcess::readDataFromProcess(QProcess &p, int timeOutMS, bool finished = false; bool hasData = false; do { - finished = p.waitForFinished(timeOutMS); + finished = p.state() == QProcess::NotRunning || p.waitForFinished(timeOutMS); hasData = false; // First check 'stdout' if (p.bytesAvailable()) { // applies to readChannel() only