summaryrefslogtreecommitdiffstats
path: root/src/corelib/concurrent/qfutureinterface_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/concurrent/qfutureinterface_p.h')
-rw-r--r--src/corelib/concurrent/qfutureinterface_p.h26
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;