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/19 10:32:53 UTC

svn commit: r935473 - /qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp

Author: gsim
Date: Mon Apr 19 08:32:52 2010
New Revision: 935473

URL: http://svn.apache.org/viewvc?rev=935473&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/SslConnector.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp?rev=935473&r1=935472&r2=935473&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp Mon Apr 19 08:32:52 2010
@@ -110,6 +110,7 @@ class SslConnector : public Connector
     void writebuff(qpid::sys::ssl::SslIO&);
     void writeDataBlock(const framing::AMQDataBlock& data);
     void eof(qpid::sys::ssl::SslIO&);
+    void disconnected(qpid::sys::ssl::SslIO&);
 
     std::string identifier;
 
@@ -201,7 +202,7 @@ void SslConnector::connect(const std::st
     aio = new SslIO(socket,
                        boost::bind(&SslConnector::readbuff, this, _1, _2),
                        boost::bind(&SslConnector::eof, this, _1),
-                       boost::bind(&SslConnector::eof, this, _1),
+                       boost::bind(&SslConnector::disconnected, this, _1),
                        boost::bind(&SslConnector::socketClosed, this, _1, _2),
                        0, // nobuffs
                        boost::bind(&SslConnector::writebuff, this, _1));
@@ -362,6 +363,11 @@ void SslConnector::eof(SslIO&) {
     close();
 }
 
+void SslConnector::disconnected(SslIO&) {
+    close();
+    socketClosed(*aio, socket);
+}
+
 const SecuritySettings* SslConnector::getSecuritySettings()
 {
     securitySettings.ssf = socket.getKeyLen();



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org