diff options
Diffstat (limited to 'qpid/cpp/src/qpid/cluster')
-rw-r--r-- | qpid/cpp/src/qpid/cluster/Quorum_cman.cpp | 2 |
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), |