summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/PollerDispatch.h
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2009-05-04 15:55:21 +0000
committerAndrew Stitcher <astitcher@apache.org>2009-05-04 15:55:21 +0000
commit564d179640cf49feeb8ff84133f892499afb0e65 (patch)
treed6fb4c2f2c789379937c2b622772cea2aed69e1d /cpp/src/qpid/cluster/PollerDispatch.h
parentc912884c11debf57e8c154fba7dbbcae8ea34d90 (diff)
downloadqpid-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.h5
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;
};