diff options
author | Gordon Sim <gsim@apache.org> | 2007-10-29 18:09:05 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2007-10-29 18:09:05 +0000 |
commit | f4f861fc5ea9847a12d9644ff1309b12954a66a6 (patch) | |
tree | 27ea99e4ca320942a7fc78f3256c59e79fe7e8b6 /qpid/cpp/src | |
parent | 4ecbb9b68a4ac3e6ed4de40ea3a076dd8b6357e4 (diff) | |
download | qpid-python-f4f861fc5ea9847a12d9644ff1309b12954a66a6.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@589778 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r-- | qpid/cpp/src/qpid/broker/SemanticState.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/SemanticState.cpp b/qpid/cpp/src/qpid/broker/SemanticState.cpp index e0e4315d03..7339150642 100644 --- a/qpid/cpp/src/qpid/broker/SemanticState.cpp +++ b/qpid/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; |