summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/cluster
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/cluster')
-rw-r--r--qpid/cpp/src/qpid/cluster/Quorum_cman.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/cluster/Quorum_cman.cpp b/qpid/cpp/src/qpid/cluster/Quorum_cman.cpp
index 507d9649b9..f7d2c5c409 100644
--- a/qpid/cpp/src/qpid/cluster/Quorum_cman.cpp
+++ b/qpid/cpp/src/qpid/cluster/Quorum_cman.cpp
@@ -47,6 +47,7 @@ Quorum::Quorum(boost::function<void()> err) : enable(false), cman(0), cmanFd(0)
}
Quorum::~Quorum() {
+ if (dispatchHandle.get()) dispatchHandle->stopWatch();
dispatchHandle.reset();
if (cman) cman_finish(cman);
}
@@ -68,6 +69,7 @@ void Quorum::start(boost::shared_ptr<sys::Poller> p) {
void Quorum::watch(int fd) {
cmanFd = fd;
+ if (dispatchHandle.get()) dispatchHandle->stopWatch();
dispatchHandle.reset(
new sys::DispatchHandleRef(
sys::PosixIOHandle(cmanFd),