qt5base-lts/tests/auto
Marc Mutz b4689401a5 tst_QThreadPool: don't deadlock when a cancel() test fails
We keep the runnables from finishing by having them block
on a QSemaphore::acquire() call inside run().

If we fail a test that precedes the call to sem.release()
further into the test, the early return will cause the
thread pool to be destroyed, which will then attempt to
wait for the runnables to finished, which, in turn wait
for the semaphore to be released.

-> dead lock

Fix by introducing a RAII object to release the semaphore
with a sufficiently large number to unblock all runnables.
That number will in some situations be too large, but that
does not matter.

Change-Id: I1ec7e29b37bc36309e93e6e30708cc7db3c9579c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-02-15 11:25:48 +00:00
..
android Updated license headers 2016-01-21 18:55:18 +00:00
bic/data Binary compatibility files for QtBase (5.8.0) 2017-02-14 12:42:20 +00:00
cmake Merge remote-tracking branch 'origin/5.6' into 5.7 2016-04-04 08:59:18 +02:00
compilerwarnings/data Updated license headers 2016-01-21 18:55:18 +00:00
concurrent Merge remote-tracking branch 'origin/5.6' into 5.7 2016-08-25 16:12:11 +02:00
corelib tst_QThreadPool: don't deadlock when a cancel() test fails 2017-02-15 11:25:48 +00:00
dbus Plug leaks in tests/auto/dbus 2017-01-26 10:33:28 +00:00
gui Accept all formatting characters as valid input 2017-01-26 10:59:49 +00:00
guiapplauncher
installed_cmake
network tst_QSocks5SocketEngine: Refactor tests 2017-01-23 12:22:54 +00:00
opengl Remove last traces of opengl es 1 support 2016-11-16 22:00:46 +00:00
other Drop unnecessary dependencies from some tests 2017-01-10 16:34:52 +00:00
printsupport Drop unnecessary dependencies from some tests 2017-01-10 16:34:52 +00:00
shared Make self-contained test of condensed font matching and width 2016-10-16 00:11:13 +00:00
sql tst_qsqlquery.cpp: Refactor runIntegralTypesMysqlTest() 2016-12-05 12:06:39 +00:00
testlib Drop unnecessary dependencies from some tests 2017-01-10 16:34:52 +00:00
tools qmake: introduce magic bypassNesting() scope 2016-12-13 18:56:20 +00:00
widgets QFormLayout: take the correct row in takeRow() 2017-02-08 11:01:31 +00:00
xml Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-01 06:02:55 +01:00
auto.pro Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
network-settings.h Merge remote-tracking branch 'origin/5.6' into 5.7 2016-05-06 15:36:44 +02:00
test.pl Updated license headers 2016-01-21 18:55:18 +00:00