summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Connection.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-01-22 10:58:20 +0000
committerGordon Sim <gsim@apache.org>2010-01-22 10:58:20 +0000
commit578ab4e8631e778bfdbb4f88b030314471394d53 (patch)
treeee64e14b131d3dfb2a73e2045efcab7f28ef7bfa /cpp/src/qpid/broker/Connection.cpp
parentaf58f5140110d2d8da38773a1b13f6e288f8fa56 (diff)
downloadqpid-python-578ab4e8631e778bfdbb4f88b030314471394d53.tar.gz
QPID-2347: Signal deletion of queue to active subscribers via a resource-deleted exception.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@902055 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Connection.cpp')
-rw-r--r--cpp/src/qpid/broker/Connection.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Connection.cpp b/cpp/src/qpid/broker/Connection.cpp
index 725ceee084..c3388a4ab1 100644
--- a/cpp/src/qpid/broker/Connection.cpp
+++ b/cpp/src/qpid/broker/Connection.cpp
@@ -19,6 +19,7 @@
*
*/
#include "qpid/broker/Connection.h"
+#include "qpid/broker/SessionOutputException.h"
#include "qpid/broker/SessionState.h"
#include "qpid/broker/Bridge.h"
#include "qpid/broker/Broker.h"
@@ -278,6 +279,9 @@ bool Connection::doOutput() {
//then do other output as needed:
return outputTasks.doOutput();
}
+ }catch(const SessionOutputException& e){
+ getChannel(e.channel).handleException(e);
+ return true;
}catch(ConnectionException& e){
close(e.code, e.getMessage());
}catch(std::exception& e){