summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
index f6bdb6c53b..9c2c8bf12a 100644
--- a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
+++ b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
@@ -906,11 +906,12 @@ void tst_QThreadPool::waitForDone()
void tst_QThreadPool::waitForDoneTimeout()
{
+ QMutex mutex;
class BlockedTask : public QRunnable
{
public:
- QMutex mutex;
- BlockedTask() { setAutoDelete(false); }
+ QMutex &mutex;
+ explicit BlockedTask(QMutex &m) : mutex(m) {}
void run()
{
@@ -922,11 +923,10 @@ void tst_QThreadPool::waitForDoneTimeout()
QThreadPool threadPool;
- BlockedTask *task = new BlockedTask;
- task->mutex.lock();
- threadPool.start(task);
+ mutex.lock();
+ threadPool.start(new BlockedTask(mutex));
QVERIFY(!threadPool.waitForDone(100));
- task->mutex.unlock();
+ mutex.unlock();
QVERIFY(threadPool.waitForDone(400));
}