diff options
| author | Alan Conway <aconway@apache.org> | 2012-01-18 22:08:05 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2012-01-18 22:08:05 +0000 |
| commit | 6654157b96dae2752ba0bdd9117849f9647b86c4 (patch) | |
| tree | 7b5f607dec9bd38154aae565da527d40a4996ad3 /cpp/src | |
| parent | 95d12bc60580be2acf85af1ec8cb13ed46ddc7a9 (diff) | |
| download | qpid-python-6654157b96dae2752ba0bdd9117849f9647b86c4.tar.gz | |
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.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1233081 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/amqp_0_10/SessionHandler.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cpp/src/qpid/amqp_0_10/SessionHandler.cpp b/cpp/src/qpid/amqp_0_10/SessionHandler.cpp index 578598a146..5eedafc77b 100644 --- a/cpp/src/qpid/amqp_0_10/SessionHandler.cpp +++ b/cpp/src/qpid/amqp_0_10/SessionHandler.cpp @@ -185,8 +185,10 @@ void SessionHandler::detach(const std::string& name) { 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; |
