Author: gsim
Date: Sun May 4 09:39:22 2008
New Revision: 653248
URL: http://svn.apache.org/viewvc?rev=653248&view=rev
Log:
Fix error handling for connection close during startup.
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionHandler.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionImpl.cpp
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionHandler.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionHandler.cpp?rev=653248&r1=653247&r2=653248&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionHandler.cpp
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionHandler.cpp Sun May
4 09:39:22 2008
@@ -170,9 +170,9 @@
void ConnectionHandler::close(uint16_t replyCode, const std::string& replyText)
{
proxy.closeOk();
- setState(CLOSED);
errorCode = replyCode;
errorText = replyText;
+ setState(CLOSED);
QPID_LOG(warning, "Broker closed connection: " << replyCode << ", " <<
replyText);
if (onError) {
onError(replyCode, replyText);
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionImpl.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionImpl.cpp?rev=653248&r1=653247&r2=653248&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionImpl.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionImpl.cpp Sun May 4
09:39:22 2008
@@ -48,12 +48,13 @@
handler.out = boost::bind(&Connector::send, boost::ref(connector), _1);
handler.onClose = boost::bind(&ConnectionImpl::closed, this,
NORMAL, std::string());
- handler.onError = boost::bind(&ConnectionImpl::closed, this, _1, _2);
connector.setInputHandler(&handler);
connector.setTimeoutHandler(this);
connector.setShutdownHandler(this);
open(settings.host, settings.port);
+ //only set error handler once open
+ handler.onError = boost::bind(&ConnectionImpl::closed, this, _1, _2);
}
ConnectionImpl::~ConnectionImpl() {