From 1f2a230b898af9da73463bca27b5883d36da7a91 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 6 May 2024 11:27:56 -0700 Subject: [PATCH] QThreadPool: store the expiryTimeout in a std::chrono type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For future-proofing. I'm not changing the front-end API because it's seldom used. Task-number: QTBUG-125107 Change-Id: Ic5b1273bb0204c31afd8fffd17ccf9ac42f57762 Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Ahmad Samir --- src/corelib/thread/qthreadpool.cpp | 7 +++---- src/corelib/thread/qthreadpool_p.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/corelib/thread/qthreadpool.cpp b/src/corelib/thread/qthreadpool.cpp index 69d9afc77a6..c7531111da7 100644 --- a/src/corelib/thread/qthreadpool.cpp +++ b/src/corelib/thread/qthreadpool.cpp @@ -593,18 +593,17 @@ bool QThreadPool::tryStart(QRunnable *runnable) int QThreadPool::expiryTimeout() const { + using namespace std::chrono; Q_D(const QThreadPool); QMutexLocker locker(&d->mutex); - return d->expiryTimeout; + return duration_cast(d->expiryTimeout).count(); } void QThreadPool::setExpiryTimeout(int expiryTimeout) { Q_D(QThreadPool); QMutexLocker locker(&d->mutex); - if (d->expiryTimeout == expiryTimeout) - return; - d->expiryTimeout = expiryTimeout; + d->expiryTimeout = std::chrono::milliseconds(expiryTimeout); } /*! \property QThreadPool::maxThreadCount diff --git a/src/corelib/thread/qthreadpool_p.h b/src/corelib/thread/qthreadpool_p.h index 1864385c629..7910592f70d 100644 --- a/src/corelib/thread/qthreadpool_p.h +++ b/src/corelib/thread/qthreadpool_p.h @@ -143,7 +143,7 @@ public: QWaitCondition noActiveThreads; QString objectName; - int expiryTimeout = 30000; + std::chrono::duration expiryTimeout = std::chrono::seconds(30); int requestedMaxThreadCount = QThread::idealThreadCount(); // don't use this directly int reservedThreads = 0; int activeThreads = 0;