summaryrefslogtreecommitdiffstats
path: root/src/core/jobs/qthreadpooler.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2017-07-26 16:42:43 +0200
committerPaul Lemire <paul.lemire@kdab.com>2017-08-02 06:24:44 +0000
commit2cf98863dc67a994d1da693b28438fe4359c01c4 (patch)
tree6346a9e85f2cb44e6e2d2b454c9b019e40ee01cc /src/core/jobs/qthreadpooler.cpp
parent718165fc244f824c6a82c1eeb94afc563a35adeb (diff)
Make ThreadPool thread count configurable with QT3D_MAX_THREAD_COUNT
Change-Id: I50671d11b2c6ae950abe013ad371c1f1f74516b0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/jobs/qthreadpooler.cpp')
-rw-r--r--src/core/jobs/qthreadpooler.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/jobs/qthreadpooler.cpp b/src/core/jobs/qthreadpooler.cpp
index 8ad6f7f0a..26372ada1 100644
--- a/src/core/jobs/qthreadpooler.cpp
+++ b/src/core/jobs/qthreadpooler.cpp
@@ -64,6 +64,13 @@ QThreadPooler::QThreadPooler(QObject *parent)
, m_dependencyHandler(nullptr)
, m_taskCount(0)
{
+ const QByteArray maxThreadCount = qgetenv("QT3D_MAX_THREAD_COUNT");
+ if (!maxThreadCount.isEmpty()) {
+ bool conversionOK = false;
+ const int maxThreadCountValue = maxThreadCount.toInt(&conversionOK);
+ if (conversionOK)
+ m_threadPool.setMaxThreadCount(maxThreadCountValue);
+ }
// Ensures that threads will never be recycled
m_threadPool.setExpiryTimeout(-1);
#ifdef QT3D_JOBS_RUN_STATS