Author: astitcher Date: Fri Oct 9 03:37:54 2009 New Revision: 823388 URL: http://svn.apache.org/viewvc?rev=823388&view=rev Log: Change TCP AsynchConnector so that it returns all failures asynchronously
Modified: qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp Modified: qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp?rev=823388&r1=823387&r2=823388&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp Fri Oct 9 03:37:54 2009 @@ -166,6 +166,7 @@ private: ConnectedCallback connCallback; FailedCallback failCallback; + std::string errMsg; const Socket& socket; public: @@ -194,10 +195,14 @@ socket.setNonblocking(); try { socket.connect(hostname, port); - startWatch(poller); } catch(std::exception& e) { - failure(-1, e.what()); + // Defer reporting failure + startWatch(poller); + errMsg = e.what(); + DispatchHandle::call(boost::bind(&AsynchConnector::failure, this, -1, errMsg)); + return; } + startWatch(poller); } void AsynchConnector::connComplete(DispatchHandle& h) --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org