diff options
author | Alan Conway <aconway@apache.org> | 2008-09-18 13:55:30 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2008-09-18 13:55:30 +0000 |
commit | e2b079386b19c34a26bb4a7c67bd002ebb9bdc94 (patch) | |
tree | c190fa29f5a58530bba7f174ec6f5727c36630ba /cpp/src/qpid/sys | |
parent | fcc3335293a77c8e9130ea1836ee55872d6b28f5 (diff) | |
download | qpid-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.h | 10 |
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*/ |