summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-10-29 18:09:05 +0000
committerGordon Sim <gsim@apache.org>2007-10-29 18:09:05 +0000
commit0fb42a897731efaea3dcb8c4238707f38c0d4d3e (patch)
treea9a74b12c1443b03eda6c0c8971db86be5a06284 /cpp/src
parentd660d4a8ef91e34472a2d78984d7e34939a081dd (diff)
downloadqpid-python-0fb42a897731efaea3dcb8c4238707f38c0d4d3e.tar.gz
Check that session is attached before accepting delivery from queue (note further synching is required between the actually delivery of frames and the change from attached to detached).
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@589778 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/SemanticState.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp
index e0e4315d03..7339150642 100644
--- a/cpp/src/qpid/broker/SemanticState.cpp
+++ b/cpp/src/qpid/broker/SemanticState.cpp
@@ -248,6 +248,10 @@ SemanticState::ConsumerImpl::ConsumerImpl(SemanticState* _parent,
bool SemanticState::ConsumerImpl::deliver(QueuedMessage& msg)
{
+ if (!parent->getSession().isAttached()) {
+ return false;
+ }
+
if (nolocal &&
&parent->getSession().getConnection() == msg.payload->getPublisher()) {
return false;