tst_QThreadPool: fix memleak

Benign, but easy to avoid by using the same pattern as in clear().

Change-Id: Ie382313343385f0709519b232a7d58dd8181b8de
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
bb10
Marc Mutz 2014-10-16 12:11:48 +02:00
parent 4cf9168630
commit 0ebd05686d
1 changed files with 6 additions and 6 deletions

View File

@ -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));
}