You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2012/01/18 23:08:06 UTC

svn commit: r1233081 - /qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp

Author: aconway
Date: Wed Jan 18 22:08:05 2012
New Revision: 1233081

URL: http://svn.apache.org/viewvc?rev=1233081&view=rev
Log:
QPID-3603: Break infinite "detached" loop between federated brokers.

Don't reply to a "detached" in case of error. Doing so can create an
infinite game of "detached tennis" between federated brokers.

Modified:
    qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp?rev=1233081&r1=1233080&r2=1233081&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp Wed Jan 18 22:08:05 2012
@@ -185,8 +185,10 @@ void SessionHandler::detach(const std::s
     handleDetach();
 }
 
-void SessionHandler::detached(const std::string& name, uint8_t code) {
-    CHECK_NAME(name, "session.detached");
+void SessionHandler::detached(const std::string& /*name*/, uint8_t code) {
+    // Special case for detached: Don't check if we are
+    // attached. Checking can lead to an endless game of "detached
+    // tennis" on federated brokers.
     awaitingDetached = false;
     if (code != session::DETACH_CODE_NORMAL) {
         sendReady = receiveReady = false;



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