diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/qpid/client/RdmaConnector.cpp | 1 | ||||
-rw-r--r-- | cpp/src/qpid/sys/rdma/RdmaIO.cpp | 4 | ||||
-rw-r--r-- | cpp/src/qpid/sys/rdma/RdmaIO.h | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/RdmaConnector.cpp b/cpp/src/qpid/client/RdmaConnector.cpp index f8f38fb050..208d42f672 100644 --- a/cpp/src/qpid/client/RdmaConnector.cpp +++ b/cpp/src/qpid/client/RdmaConnector.cpp @@ -281,6 +281,7 @@ void RdmaConnector::stopped(Rdma::AsynchIO* a) { void RdmaConnector::drained() { QPID_LOG(debug, "RdmaConnector::drained " << identifier); assert(!polling); + acon->stop(); if (aio) { Rdma::AsynchIO* a = aio; aio = 0; diff --git a/cpp/src/qpid/sys/rdma/RdmaIO.cpp b/cpp/src/qpid/sys/rdma/RdmaIO.cpp index c89e0f2126..69776654ef 100644 --- a/cpp/src/qpid/sys/rdma/RdmaIO.cpp +++ b/cpp/src/qpid/sys/rdma/RdmaIO.cpp @@ -518,6 +518,10 @@ namespace Rdma { handle.startWatch(poller); } + void ConnectionManager::stop() { + handle.stopWatch(); + } + void ConnectionManager::event(DispatchHandle&) { connectionEvent(ci); } diff --git a/cpp/src/qpid/sys/rdma/RdmaIO.h b/cpp/src/qpid/sys/rdma/RdmaIO.h index 72cbac154b..55174ea8a1 100644 --- a/cpp/src/qpid/sys/rdma/RdmaIO.h +++ b/cpp/src/qpid/sys/rdma/RdmaIO.h @@ -179,6 +179,7 @@ namespace Rdma { virtual ~ConnectionManager(); void start(qpid::sys::Poller::shared_ptr poller, const qpid::sys::SocketAddress& addr); + void stop(); private: void event(qpid::sys::DispatchHandle& handle); |