diff options
Diffstat (limited to 'tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp')
-rw-r--r-- | tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp | 12 |
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)); } |