diff options
author | Andrew Stitcher <astitcher@apache.org> | 2009-05-04 15:55:21 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2009-05-04 15:55:21 +0000 |
commit | 564d179640cf49feeb8ff84133f892499afb0e65 (patch) | |
tree | d6fb4c2f2c789379937c2b622772cea2aed69e1d /cpp/src/qpid/cluster/PollerDispatch.h | |
parent | c912884c11debf57e8c154fba7dbbcae8ea34d90 (diff) | |
download | qpid-python-564d179640cf49feeb8ff84133f892499afb0e65.tar.gz |
Refactored the DispatchHandle/Poller code to remove a long standing
set of race conditions.
- Changed Poller naming for better clarity with
new semantics.
- Changed Poller semantics to avoid DispatchHandle
keeping so much state
- Changed Poller so that it will never re-enable a
Handle until Poller::wait is called again on the same thread
that returned the Handle.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771338 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/PollerDispatch.h')
-rw-r--r-- | cpp/src/qpid/cluster/PollerDispatch.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/qpid/cluster/PollerDispatch.h b/cpp/src/qpid/cluster/PollerDispatch.h index 24b3496eb5..52137b72a8 100644 --- a/cpp/src/qpid/cluster/PollerDispatch.h +++ b/cpp/src/qpid/cluster/PollerDispatch.h @@ -37,6 +37,9 @@ class PollerDispatch { public: PollerDispatch(Cpg&, boost::shared_ptr<sys::Poller> poller, boost::function<void()> onError) ; + + ~PollerDispatch(); + void start(); private: @@ -47,7 +50,7 @@ class PollerDispatch { Cpg& cpg; boost::shared_ptr<sys::Poller> poller; boost::function<void()> onError; - sys::DispatchHandle dispatchHandle; + sys::DispatchHandleRef dispatchHandle; }; |