summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2021-09-30 16:10:02 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-10-01 03:19:23 +0000
commit85d84ec6e14903c5cc9837b8abd3abf3dc070e0b (patch)
tree2cce99cb7da8c2561b010e8c5bd9c1c834ee51e5 /tests
parent520afbbbee5d5f49badc6dbf982d09ded6661bac (diff)
tst_qthread: Don't use QVERIFY in multiple threads in threadIdReuse()
Testlib is not thread safe. Store the status into variable and check it in the main thread instead. Change-Id: I840c8a3dceb1115a1b81ffeaa0fab96f9d2f1ff0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit e0b87edd73c4ade9f35985313b19d8f2f1f9ca78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/thread/qthread/tst_qthread.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/tests/auto/corelib/thread/qthread/tst_qthread.cpp b/tests/auto/corelib/thread/qthread/tst_qthread.cpp
index 704eb14e14..a396ebffc2 100644
--- a/tests/auto/corelib/thread/qthread/tst_qthread.cpp
+++ b/tests/auto/corelib/thread/qthread/tst_qthread.cpp
@@ -1660,14 +1660,17 @@ void tst_QThread::threadIdReuse()
QThread::msleep(1);
Qt::HANDLE threadId2;
- auto waitForThread1 = [&thread1, &threadId2]() -> void {
+ bool waitOk = false;
+
+ auto waitForThread1 = [&thread1, &threadId2, &waitOk]() -> void {
threadId2 = QThread::currentThreadId();
- QVERIFY(thread1->wait());
+ waitOk = thread1->wait();
};
QScopedPointer<QThread> thread2(QThread::create(waitForThread1));
thread2->start();
QVERIFY(thread2->wait());
+ QVERIFY(waitOk);
if (threadId1 == threadId2) {
qDebug("Thread ID reused at iteration %d", i);