diff options
author | Gordon Sim <gsim@apache.org> | 2009-06-03 10:31:24 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2009-06-03 10:31:24 +0000 |
commit | 4d1153648a9dbf8b7c9258ef664fe48457f313d4 (patch) | |
tree | e3dd9b2a531bd5452851f772500e35c177287048 /cpp/src | |
parent | ff726123af52268bbbbfdea491ec77ab6309324a (diff) | |
download | qpid-python-4d1153648a9dbf8b7c9258ef664fe48457f313d4.tar.gz |
Stop watching the acceptors dispatch handle before it is deleted in ssl and rdma plugins.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@781332 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/qpid/sys/rdma/RdmaIO.cpp | 5 | ||||
-rw-r--r-- | cpp/src/qpid/sys/rdma/RdmaIO.h | 2 | ||||
-rw-r--r-- | cpp/src/qpid/sys/ssl/SslIo.cpp | 5 | ||||
-rw-r--r-- | cpp/src/qpid/sys/ssl/SslIo.h | 1 |
4 files changed, 12 insertions, 1 deletions
diff --git a/cpp/src/qpid/sys/rdma/RdmaIO.cpp b/cpp/src/qpid/sys/rdma/RdmaIO.cpp index 0ca4c5e259..316b6b99e3 100644 --- a/cpp/src/qpid/sys/rdma/RdmaIO.cpp +++ b/cpp/src/qpid/sys/rdma/RdmaIO.cpp @@ -446,6 +446,11 @@ namespace Rdma { ci->nonblocking(); } + ConnectionManager::~ConnectionManager() + { + handle.stopWatch(); + } + void ConnectionManager::start(Poller::shared_ptr poller) { startConnection(ci); handle.startWatch(poller); diff --git a/cpp/src/qpid/sys/rdma/RdmaIO.h b/cpp/src/qpid/sys/rdma/RdmaIO.h index 410ea42884..9f916ba7e2 100644 --- a/cpp/src/qpid/sys/rdma/RdmaIO.h +++ b/cpp/src/qpid/sys/rdma/RdmaIO.h @@ -157,7 +157,7 @@ namespace Rdma { DisconnectedCallback dc ); - virtual ~ConnectionManager() {} + virtual ~ConnectionManager(); void start(qpid::sys::Poller::shared_ptr poller); diff --git a/cpp/src/qpid/sys/ssl/SslIo.cpp b/cpp/src/qpid/sys/ssl/SslIo.cpp index 624683ae7d..caf190a5ac 100644 --- a/cpp/src/qpid/sys/ssl/SslIo.cpp +++ b/cpp/src/qpid/sys/ssl/SslIo.cpp @@ -76,6 +76,11 @@ SslAcceptor::SslAcceptor(const SslSocket& s, Callback callback) : ignoreSigpipe(); } +SslAcceptor::~SslAcceptor() +{ + handle.stopWatch(); +} + void SslAcceptor::start(Poller::shared_ptr poller) { handle.startWatch(poller); } diff --git a/cpp/src/qpid/sys/ssl/SslIo.h b/cpp/src/qpid/sys/ssl/SslIo.h index ba6483282b..2d0d5b296c 100644 --- a/cpp/src/qpid/sys/ssl/SslIo.h +++ b/cpp/src/qpid/sys/ssl/SslIo.h @@ -47,6 +47,7 @@ private: public: SslAcceptor(const SslSocket& s, Callback callback); + ~SslAcceptor(); void start(qpid::sys::Poller::shared_ptr poller); private: |