--- src/corelib/concurrent/qthreadpool.cpp.orig
+++ src/corelib/concurrent/qthreadpool.cpp
+static QScopedPointer<QThreadPool> gThreadPool(new QThreadPool());
inline bool operator<(int priority, const QPair<QRunnable *, int> &p)
return priority < p.second;
-Q_GLOBAL_STATIC(QThreadPool, theInstance)
- QThread wrapper, provides synchronization against a ThreadPool
-class QThreadPoolThread : public QThread
- QThreadPoolThread(QThreadPoolPrivate *manager);
- void registerThreadInactive();
- QWaitCondition runnableReady;
- QThreadPoolPrivate *manager;
QThreadPool private class.
-QThreadPoolThread::QThreadPoolThread(QThreadPoolPrivate *manager)
- :manager(manager), runnable(0)
+QThreadPoolThread::QThreadPoolThread()
+ :manager(0), runnable(0)
return activeThreadCount > maxThreadCount && (activeThreadCount - reservedThreads) > 1;
+QThreadPoolThread* QThreadPool::createThreadPoolThread() const
+ QThreadPoolThread* ret = new QThreadPoolThread();
+ ret->setObjectName(QLatin1String("Thread (pooled)"));
void QThreadPoolPrivate::startThread(QRunnable *runnable)
- QScopedPointer <QThreadPoolThread> thread(new QThreadPoolThread(this));