From cf5198ac6483cefad8cfa048477c3286ab24b818 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sat, 19 Oct 2019 15:09:18 +0200 Subject: [PATCH] Limit tagreader workers to 2 --- ext/libstrawberry-common/core/workerpool.h | 2 ++ src/core/tagreaderclient.cpp | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ext/libstrawberry-common/core/workerpool.h b/ext/libstrawberry-common/core/workerpool.h index b34bf3a7..f23c1ec4 100644 --- a/ext/libstrawberry-common/core/workerpool.h +++ b/ext/libstrawberry-common/core/workerpool.h @@ -158,11 +158,13 @@ WorkerPool::WorkerPool(QObject *parent) : _WorkerPoolBase(parent), next_worker_(0), next_id_(0) { + worker_count_ = qBound(1, QThread::idealThreadCount() / 2, 2); local_server_name_ = qApp->applicationName().toLower(); if (local_server_name_.isEmpty()) local_server_name_ = "workerpool"; + } template diff --git a/src/core/tagreaderclient.cpp b/src/core/tagreaderclient.cpp index 2908f29f..94d0b57f 100644 --- a/src/core/tagreaderclient.cpp +++ b/src/core/tagreaderclient.cpp @@ -46,8 +46,9 @@ TagReaderClient::TagReaderClient(QObject *parent) : QObject(parent), worker_pool original_thread_ = thread(); worker_pool_->SetExecutableName(kWorkerExecutableName); - worker_pool_->SetWorkerCount(QThread::idealThreadCount()); + worker_pool_->SetWorkerCount(qBound(1, QThread::idealThreadCount() / 2, 2)); connect(worker_pool_, SIGNAL(WorkerFailedToStart()), SLOT(WorkerFailedToStart())); + } void TagReaderClient::Start() { worker_pool_->Start(); }