diff options
Diffstat (limited to 'src/corelib/concurrent/qfutureinterface_p.h')
-rw-r--r-- | src/corelib/concurrent/qfutureinterface_p.h | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/corelib/concurrent/qfutureinterface_p.h b/src/corelib/concurrent/qfutureinterface_p.h index 8431b1ad37..407c926137 100644 --- a/src/corelib/concurrent/qfutureinterface_p.h +++ b/src/corelib/concurrent/qfutureinterface_p.h @@ -129,31 +129,7 @@ class QFutureInterfaceBasePrivate public: QFutureInterfaceBasePrivate(QFutureInterfaceBase::State initialState); - // When the last QFuture<T> reference is removed, we need to make - // sure that data stored in the ResultStore is cleaned out. - // Since QFutureInterfaceBasePrivate can be shared between QFuture<T> - // and QFuture<void> objects, we use a separate ref. counter - // to keep track of QFuture<T> objects. - class RefCount - { - public: - inline RefCount(int r = 0, int rt = 0) - : m_refCount(r), m_refCountT(rt) {} - // Default ref counter for QFIBP - inline bool ref() { return m_refCount.ref(); } - inline bool deref() { return m_refCount.deref(); } - // Ref counter for type T - inline bool refT() { return m_refCountT.ref(); } - inline bool derefT() { return m_refCountT.deref(); } - inline operator int() const { return int(m_refCount); } - inline bool operator==(int value) const { return m_refCount == value; } - - private: - QAtomicInt m_refCount; - QAtomicInt m_refCountT; - }; - - RefCount refCount; + QAtomicInt refCount; mutable QMutex m_mutex; QWaitCondition waitCondition; QList<QFutureCallOutInterface *> outputConnections; |