summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-09-18 13:55:30 +0000
committerAlan Conway <aconway@apache.org>2008-09-18 13:55:30 +0000
commite2b079386b19c34a26bb4a7c67bd002ebb9bdc94 (patch)
treec190fa29f5a58530bba7f174ec6f5727c36630ba /cpp/src/qpid/sys
parentfcc3335293a77c8e9130ea1836ee55872d6b28f5 (diff)
downloadqpid-python-e2b079386b19c34a26bb4a7c67bd002ebb9bdc94.tar.gz
Refactor Cluster logic into separate handlers for Joining & Member modes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@696657 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys')
-rw-r--r--cpp/src/qpid/sys/PollableQueue.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/qpid/sys/PollableQueue.h b/cpp/src/qpid/sys/PollableQueue.h
index ca97c0d8c9..2c326b998f 100644
--- a/cpp/src/qpid/sys/PollableQueue.h
+++ b/cpp/src/qpid/sys/PollableQueue.h
@@ -71,6 +71,9 @@ class PollableQueue {
/** Stop polling and wait for the current callback, if any, to complete. */
void stop();
+
+ /** Are we currently stopped?*/
+ bool isStopped() const;
private:
typedef sys::Monitor::ScopedLock ScopedLock;
@@ -78,7 +81,7 @@ class PollableQueue {
void dispatch(sys::DispatchHandle&);
- sys::Monitor lock;
+ mutable sys::Monitor lock;
Callback callback;
PollableCondition condition;
sys::DispatchHandle handle;
@@ -130,6 +133,11 @@ template <class T> void PollableQueue<T>::stop() {
while (dispatching) lock.wait();
}
+template <class T> bool PollableQueue<T>::isStopped() const {
+ ScopedLock l(lock);
+ return stopped;
+}
+
}} // namespace qpid::sys
#endif /*!QPID_SYS_POLLABLEQUEUE_H*/