summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread/qfutureinterface.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-08-25 16:12:11 +0200
committerLiang Qi <liang.qi@qt.io>2016-08-25 16:12:11 +0200
commitc7cdf3aac7ef9571ce0c0cf25a2c8455c7604451 (patch)
treeff17379a7643d47224a500714d825d561172a282 /src/corelib/thread/qfutureinterface.cpp
parent3f64156e918a8cf5da1b68191a280f0daf3d954b (diff)
parent1e6630b54ce9a005c2cffac4dac95641838e8231 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: src/corelib/mimetypes/qmimeprovider.cpp src/corelib/mimetypes/qmimetype.cpp Change-Id: Ib483ddb6bfc380e7c8f195feca535703814c3872
Diffstat (limited to 'src/corelib/thread/qfutureinterface.cpp')
-rw-r--r--src/corelib/thread/qfutureinterface.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/corelib/thread/qfutureinterface.cpp b/src/corelib/thread/qfutureinterface.cpp
index 6690f28556..ce31fe9270 100644
--- a/src/corelib/thread/qfutureinterface.cpp
+++ b/src/corelib/thread/qfutureinterface.cpp
@@ -305,12 +305,11 @@ void QFutureInterfaceBase::waitForResult(int resultIndex)
lock.relock();
- if (!(d->state & Running))
- return;
-
- const int waitIndex = (resultIndex == -1) ? INT_MAX : resultIndex;
- while ((d->state & Running) && d->internal_isResultReadyAt(waitIndex) == false)
- d->waitCondition.wait(&d->m_mutex);
+ if (d->state & Running) {
+ const int waitIndex = (resultIndex == -1) ? INT_MAX : resultIndex;
+ while ((d->state & Running) && d->internal_isResultReadyAt(waitIndex) == false)
+ d->waitCondition.wait(&d->m_mutex);
+ }
d->m_exceptionStore.throwPossibleException();
}