You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2010/04/16 20:16:30 UTC
svn commit: r935017 - in /qpid/trunk/qpid/cpp/src/qpid/client:
TCPConnector.cpp TCPConnector.h
Author: gsim
Date: Fri Apr 16 18:16:30 2010
New Revision: 935017
URL: http://svn.apache.org/viewvc?rev=935017&view=rev
Log:
Ensure that ConnectionImpl is notified of shutdown even in the case of disconnect (which needs different handling than eof)
Modified:
qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.cpp
qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.h
Modified: qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.cpp?rev=935017&r1=935016&r2=935017&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.cpp Fri Apr 16 18:16:30 2010
@@ -104,7 +104,7 @@ void TCPConnector::connected(const Socke
aio = AsynchIO::create(socket,
boost::bind(&TCPConnector::readbuff, this, _1, _2),
boost::bind(&TCPConnector::eof, this, _1),
- boost::bind(&TCPConnector::eof, this, _1),
+ boost::bind(&TCPConnector::disconnected, this, _1),
boost::bind(&TCPConnector::socketClosed, this, _1, _2),
0, // nobuffs
boost::bind(&TCPConnector::writebuff, this, _1));
@@ -313,6 +313,11 @@ void TCPConnector::eof(AsynchIO&) {
close();
}
+void TCPConnector::disconnected(AsynchIO&) {
+ close();
+ socketClosed(*aio, socket);
+}
+
void TCPConnector::activateSecurityLayer(std::auto_ptr<qpid::sys::SecurityLayer> sl)
{
securityLayer = sl;
Modified: qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.h?rev=935017&r1=935016&r2=935017&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/TCPConnector.h Fri Apr 16 18:16:30 2010
@@ -104,6 +104,7 @@ protected:
bool readbuff(qpid::sys::AsynchIO&, qpid::sys::AsynchIOBufferBase*);
void writebuff(qpid::sys::AsynchIO&);
void eof(qpid::sys::AsynchIO&);
+ void disconnected(qpid::sys::AsynchIO&);
void socketClosed(qpid::sys::AsynchIO&, const qpid::sys::Socket&);
public:
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org