qt6-bb10/tests/auto/corelib/thread
Jarek Kobus 63b2cf8a45 QFutureWatcher: Fix race for initial emission of resultReadyAt()
When connecting a QFutureWatcher to the QFuture it will connect to the
output interface, which will queue up events to notify about the current
state. This happens in the thread of the QFutureWatcher.

Since 07d6d31a4c unfortunately the sending
of those events was done outside the lock, meaning the worker-thread
could _also_ send events at the same time, leading to a race on which
events would be sent first.

To fix this we move the emission of the events back into the lock
and because it is now inside the lock again anyway, we will revert
back to posting the callout events immediately, so this patch also
partially reverts 07d6d31a4c

Fixes: QTBUG-119169
Pick-to: 6.7 6.6
Change-Id: If29ab6712a82e7948c0ea4866340b6fac5aba5ef
Reviewed-by: Arno Rehn <a.rehn@menlosystems.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-03-15 11:42:36 +00:00
..
qatomicint Change license for tests files 2024-02-04 09:56:42 +01:00
qatomicinteger Change license for tests files 2024-02-04 09:56:42 +01:00
qatomicpointer Change license for tests files 2024-02-04 09:56:42 +01:00
qfuture Change license for tests files 2024-02-04 09:56:42 +01:00
qfuturesynchronizer Change license for tests files 2024-02-04 09:56:42 +01:00
qfuturewatcher QFutureWatcher: Fix race for initial emission of resultReadyAt() 2024-03-15 11:42:36 +00:00
qmutex tst_QMutex[qnx]: increase system timer resolution 2024-03-12 14:23:57 +01:00
qmutexlocker Change license for tests files 2024-02-04 09:56:42 +01:00
qpromise Change license for tests files 2024-02-04 09:56:42 +01:00
qreadlocker Change license for tests files 2024-02-04 09:56:42 +01:00
qreadwritelock Change license for tests files 2024-02-04 09:56:42 +01:00
qresultstore Fix conversion warning in tst_qresultstore 2024-02-27 19:45:42 +01:00
qsemaphore Change license for tests files 2024-02-04 09:56:42 +01:00
qthread Port two tests' QAbstractEventDispatcher overrides to V2 2024-03-13 17:29:13 -08:00
qthreadonce Change license for tests files 2024-02-04 09:56:42 +01:00
qthreadpool Change license for tests files 2024-02-04 09:56:42 +01:00
qthreadstorage Change license for tests files 2024-02-04 09:56:42 +01:00
qwaitcondition Change license for tests files 2024-02-04 09:56:42 +01:00
qwritelocker Change license for tests files 2024-02-04 09:56:42 +01:00
CMakeLists.txt wasm: Fix test runner for asynchronous tests 2023-10-26 13:43:39 +02:00