qt6-bb10/tests/auto/corelib/thread
Marc Mutz f0ee4ed0a2 Long live QSemaphoreReleaser!
This is a simple RAII class that makes semaphore releasing
reliable in the face of exceptions and early returns.

This code originates from KDTools' KDSemaphoreReleaser[1], but
has been extensively reworked to support C++11 move semantics.

[1] https://docs.kdab.com/kdtools/2.3.0/class_k_d_semaphore_releaser.html

[ChangeLog][QtCore][QSemaphore] Added a new RAII class, QSemaphoreReleaser,
to reliably perform release() calls.

Change-Id: I6aff64d37cc0882b17c4419817bde60b542f34d9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-14 06:46:03 +00:00
..
qatomicint Add Intel copyright to files that Intel has had non-trivial contribution 2016-01-21 22:44:21 +00:00
qatomicinteger Merge remote-tracking branch 'origin/5.6' into 5.7 2016-03-24 20:37:33 +01:00
qatomicpointer Add Intel copyright to files that Intel has had non-trivial contribution 2016-01-21 22:44:21 +00:00
qfuture Tests: Fix Clang warnings about various unused variables 2017-02-05 10:54:28 +00:00
qfuturesynchronizer Drop unnecessary dependencies from some tests 2017-01-10 16:34:52 +00:00
qfuturewatcher Updated license headers 2016-01-21 18:55:18 +00:00
qmutex Long live QTest::addRow()! 2017-01-10 07:47:26 +00:00
qmutexlocker Updated license headers 2016-01-21 18:55:18 +00:00
qreadlocker Updated license headers 2016-01-21 18:55:18 +00:00
qreadwritelock Updated license headers 2016-01-21 18:55:18 +00:00
qresultstore Drop unnecessary dependencies from some tests 2017-01-10 16:34:52 +00:00
qsemaphore Long live QSemaphoreReleaser! 2017-02-14 06:46:03 +00:00
qthread Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-24 10:31:21 +01:00
qthreadonce QtCore: Remove Windows CE. 2016-03-30 11:22:47 +00:00
qthreadpool Add Intel copyright to files that Intel has had non-trivial contribution 2016-01-21 22:44:21 +00:00
qthreadstorage macOS: Don't build auto-tests as application bundles unless explicitly requested 2016-10-23 10:39:56 +00:00
qwaitcondition Updated license headers 2016-01-21 18:55:18 +00:00
qwritelocker Updated license headers 2016-01-21 18:55:18 +00:00
thread.pro Replace the type-based QAtomicIntegerTraits with a size-based one 2014-01-30 18:06:27 +01:00