QThreadPool: unify waitForDone() overloads
authorKonstantin Ritt <ritt.ks@gmail.com>
Mon, 16 Apr 2012 11:39:36 +0000 (14:39 +0300)
committerQt by Nokia <qt-info@nokia.com>
Tue, 17 Apr 2012 16:44:13 +0000 (18:44 +0200)
Change-Id: I1515a65fab37588372794422a43ed09ac076e108
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
src/corelib/thread/qthreadpool.cpp
src/corelib/thread/qthreadpool.h
src/corelib/thread/qthreadpool_p.h

index 870f943..7f26dfe 100644 (file)
@@ -410,8 +410,7 @@ QThreadPool::QThreadPool(QObject *parent)
 */
 QThreadPool::~QThreadPool()
 {
-    d_func()->waitForDone();
-    d_func()->reset();
+    waitForDone();
 }
 
 /*!
@@ -593,22 +592,10 @@ void QThreadPool::releaseThread()
 }
 
 /*!
-    Waits for each thread to exit and removes all threads from the thread pool.
-*/
-void QThreadPool::waitForDone()
-{
-    Q_D(QThreadPool);
-    d->waitForDone();
-    d->reset();
-}
-
-/*!
-    \overload waitForDone()
-    \since 4.8
-
     Waits up to \a msecs milliseconds for all threads to exit and removes all 
     threads from the thread pool. Returns true if all threads were removed; 
-    otherwise it returns false.
+    otherwise it returns false. If \a msecs is -1 (the default), the timeout
+    is ignored (waits for the last thread to exit).
 */
 bool QThreadPool::waitForDone(int msecs)
 {
index 9fc023c..dd93171 100644 (file)
@@ -83,8 +83,7 @@ public:
     void reserveThread();
     void releaseThread();
 
-    void waitForDone();
-    bool waitForDone(int msecs);
+    bool waitForDone(int msecs = -1);
 };
 
 QT_END_NAMESPACE
index 910e0b0..7607329 100644 (file)
@@ -82,7 +82,7 @@ public:
 
     void startThread(QRunnable *runnable = 0);
     void reset();
-    bool waitForDone(int msecs = -1);
+    bool waitForDone(int msecs);
     void stealRunnable(QRunnable *);
 
     mutable QMutex mutex;