qt5base-lts/tests/auto/corelib/thread
Arno Rehn 855c448469 QPromise: Propagate cancellation through failure handlers
Previously, failure handlers did not propagate cancellation. This would
lead to crashes when a QPromise was cancelled without having generated
any result. Subsequent continuations would be invoked and try to access
the result (which was nonexistent) and then crash.
This patch propagates cancellation through failure handlers to prevent
subsequent continuations from being called in the first place.

Fixes: QTBUG-114606
Pick-to: 6.6
Pick-to: 6.5
Change-Id: I23b28a8e70a76e1ba6416be4440360c6dbaef2a3
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2023-06-20 09:35:15 +02:00
..
qatomicint tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qatomicinteger tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qatomicpointer tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qfuture Fix segfault when using qfuture continuations with move only types 2023-06-10 14:28:13 +00:00
qfuturesynchronizer tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qfuturewatcher Corelib: s/Q_OS_MAC/Q_OS_DARWIN/wg except for doc and definition 2023-03-20 19:18:52 +01:00
qmutex Long live futexes for FreeBSD! 2023-06-15 04:04:56 -07:00
qmutexlocker tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qpromise QPromise: Propagate cancellation through failure handlers 2023-06-20 09:35:15 +02:00
qreadlocker tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qreadwritelock QThread: add sleep(std::chrono::nanoseconds) overload 2023-03-13 23:26:28 +02:00
qresultstore tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qsemaphore tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qthread QThread: add sleep(std::chrono::nanoseconds) overload 2023-03-13 23:26:28 +02:00
qthreadonce tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
qthreadpool tst_qthreadpool: expect a warning, cleaning up the test run 2023-05-04 19:40:32 +02:00
qthreadstorage Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
qwaitcondition QThread: add sleep(std::chrono::nanoseconds) overload 2023-03-13 23:26:28 +02:00
qwritelocker tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
CMakeLists.txt Rid of 'special case' markers 2023-04-13 18:30:58 +02:00