From 4467d34858ea0ab6d11fbc90f81162e642fe3133 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Fri, 11 Jun 2010 08:42:37 +0000 Subject: Ensure that AsynchConnector is disassociated from Poller when aborting connection attempt due to a heartbeat timeout git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@953610 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/sys/AsynchIO.h | 2 +- cpp/src/qpid/sys/posix/AsynchIO.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/sys') diff --git a/cpp/src/qpid/sys/AsynchIO.h b/cpp/src/qpid/sys/AsynchIO.h index f1841639ed..50da8fa4fc 100644 --- a/cpp/src/qpid/sys/AsynchIO.h +++ b/cpp/src/qpid/sys/AsynchIO.h @@ -69,7 +69,7 @@ public: ConnectedCallback connCb, FailedCallback failCb); virtual void start(boost::shared_ptr poller) = 0; - + virtual void stop() {}; protected: AsynchConnector() {} virtual ~AsynchConnector() {} diff --git a/cpp/src/qpid/sys/posix/AsynchIO.cpp b/cpp/src/qpid/sys/posix/AsynchIO.cpp index cef9f1fcef..7d85b4325b 100644 --- a/cpp/src/qpid/sys/posix/AsynchIO.cpp +++ b/cpp/src/qpid/sys/posix/AsynchIO.cpp @@ -157,6 +157,7 @@ public: ConnectedCallback connCb, FailedCallback failCb); void start(Poller::shared_ptr poller); + void stop(); }; AsynchConnector::AsynchConnector(const Socket& s, @@ -183,6 +184,11 @@ void AsynchConnector::start(Poller::shared_ptr poller) startWatch(poller); } +void AsynchConnector::stop() +{ + stopWatch(); +} + void AsynchConnector::connComplete(DispatchHandle& h) { h.stopWatch(); -- cgit v1.2.1