diff options
author | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2021-09-30 16:10:02 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-10-01 03:19:23 +0000 |
commit | 85d84ec6e14903c5cc9837b8abd3abf3dc070e0b (patch) | |
tree | 2cce99cb7da8c2561b010e8c5bd9c1c834ee51e5 /tests | |
parent | 520afbbbee5d5f49badc6dbf982d09ded6661bac (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.cpp | 7 |
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); |