diff options
author | Sona Kurazyan <sona.kurazyan@qt.io> | 2020-12-10 15:53:23 +0100 |
---|---|---|
committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-01-27 15:00:56 +0100 |
commit | 8f8405e04642b98663d4752d4ae76c304ae33b01 (patch) | |
tree | 1e7f93ee0230aa01591263c53376e31fd5e3bcf0 /src/corelib/thread/qthreadpool_p.h | |
parent | 6d3a886f09955fec29e541baa786633cce2b2b9e (diff) |
Port QThreadPool to the new property system
Ported all properties, except activeThreadCount. Marking it dirty may
cause a re-evaluation of properties depending on it, which may reault in
a deadlock in case of trying to read activeThreadCount property which is
being marked as dirty.
Task-number: QTBUG-85520
Change-Id: Id073b0895c89a9e6b05b57ad520db994e550a1c9
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/corelib/thread/qthreadpool_p.h')
-rw-r--r-- | src/corelib/thread/qthreadpool_p.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/corelib/thread/qthreadpool_p.h b/src/corelib/thread/qthreadpool_p.h index 4d73a480b5..019f24ce4d 100644 --- a/src/corelib/thread/qthreadpool_p.h +++ b/src/corelib/thread/qthreadpool_p.h @@ -58,6 +58,7 @@ #include "QtCore/qset.h" #include "QtCore/qqueue.h" #include "private/qobject_p.h" +#include "private/qproperty_p.h" QT_REQUIRE_CONFIG(thread); @@ -173,11 +174,17 @@ public: QList<QueuePage *> queue; QWaitCondition noActiveThreads; - int expiryTimeout = 30000; - int maxThreadCount = QThread::idealThreadCount(); + Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QThreadPoolPrivate, int, expiryTimeout, 30000) + + void setMaxThreadCount(int count) { q_func()->setMaxThreadCount(count); } + Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS(QThreadPoolPrivate, int, maxThreadCount, + &QThreadPoolPrivate::setMaxThreadCount, + QThread::idealThreadCount()) + int reservedThreads = 0; int activeThreads = 0; - uint stackSize = 0; + + Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QThreadPoolPrivate, uint, stackSize, 0) }; QT_END_NAMESPACE |