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 | c922a130012c689d452da67370ac345febbdc0db (patch) | |
| tree | 7c2eedcd257b7e3efb7c5eab2046175e2e8749da /qpid/cpp | |
| parent | c6264412152b0a476501b7234e3fd3ed0ddbbaa7 (diff) | |
| download | qpid-python-c922a130012c689d452da67370ac345febbdc0db.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@781332 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
| -rw-r--r-- | qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp | 5 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/sys/rdma/RdmaIO.h | 2 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/sys/ssl/SslIo.cpp | 5 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/sys/ssl/SslIo.h | 1 |
4 files changed, 12 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp b/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp index 0ca4c5e259..316b6b99e3 100644 --- a/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp +++ b/qpid/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/qpid/cpp/src/qpid/sys/rdma/RdmaIO.h b/qpid/cpp/src/qpid/sys/rdma/RdmaIO.h index 410ea42884..9f916ba7e2 100644 --- a/qpid/cpp/src/qpid/sys/rdma/RdmaIO.h +++ b/qpid/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/qpid/cpp/src/qpid/sys/ssl/SslIo.cpp b/qpid/cpp/src/qpid/sys/ssl/SslIo.cpp index 624683ae7d..caf190a5ac 100644 --- a/qpid/cpp/src/qpid/sys/ssl/SslIo.cpp +++ b/qpid/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/qpid/cpp/src/qpid/sys/ssl/SslIo.h b/qpid/cpp/src/qpid/sys/ssl/SslIo.h index ba6483282b..2d0d5b296c 100644 --- a/qpid/cpp/src/qpid/sys/ssl/SslIo.h +++ b/qpid/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: |
