summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SessionHandler.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-10-31 14:50:58 +0000
committerAlan Conway <aconway@apache.org>2007-10-31 14:50:58 +0000
commit3d05570dc824c704285bfef1ff810fbb1589f596 (patch)
treec5d0bb12cc16af83f3b0e189dc0a48409a218522 /cpp/src/qpid/broker/SessionHandler.cpp
parent9d7759e7acb7f14f3e291f721f7235c7769a2499 (diff)
downloadqpid-python-3d05570dc824c704285bfef1ff810fbb1589f596.tar.gz
Fix client side core dump when disconneced unexpectedly:
void qpid::client::SessionCore::invariant() const: Assertion Minor items: src/qpid/broker/Queue.cpp: info log for each message dispatched. src/qpid/broker/SessionHandler.cpp: check attached in handleOut() src/qpid/sys/Dispatcher.cpp: use polymorphic_downcast to catch cast errors in debug builds. src/qpid/client/SessionCore.cpp: fix incorrect asserts src/qpid/client/Message.h: convenience constructor parameters git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@590688 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SessionHandler.cpp')
-rw-r--r--cpp/src/qpid/broker/SessionHandler.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/SessionHandler.cpp b/cpp/src/qpid/broker/SessionHandler.cpp
index 9b065be8af..49492ffed1 100644
--- a/cpp/src/qpid/broker/SessionHandler.cpp
+++ b/cpp/src/qpid/broker/SessionHandler.cpp
@@ -80,6 +80,9 @@ void SessionHandler::handleIn(AMQFrame& f) {
}
void SessionHandler::handleOut(AMQFrame& f) {
+ if (!session.get())
+ throw InternalErrorException(
+ QPID_MSG("attempt to send frame on detached channel."));
channel.handle(f); // Send it.
if (session->sent(f))
peerSession.solicitAck();