summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2007-11-12 14:13:52 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2007-11-12 14:13:52 +0000
commit93632ea079f380ca8d9b4ce90dff939b4772e01a (patch)
treecda97d156a23fa16c1ad5d6a6d8decf7346b02b0 /cpp/src
parente5334839e5d864645276a01c4acb7267f02f5ff1 (diff)
downloadqpid-python-93632ea079f380ca8d9b4ce90dff939b4772e01a.tar.gz
- fix for dequeue window mode, no ack. (needs to record and dequeue)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@594155 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/SemanticState.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp
index fa2ea38333..52975ea96e 100644
--- a/cpp/src/qpid/broker/SemanticState.cpp
+++ b/cpp/src/qpid/broker/SemanticState.cpp
@@ -261,6 +261,7 @@ SemanticState::ConsumerImpl::ConsumerImpl(SemanticState* _parent,
bool SemanticState::ConsumerImpl::deliver(QueuedMessage& msg)
{
+std::cout << " SemanticState::ConsumerImpl::deliver()" << windowing << "- " << ackExpected << std:: endl <<std::flush;
if (!parent->getSession().isAttached()) {
return false;
}
@@ -273,14 +274,14 @@ bool SemanticState::ConsumerImpl::deliver(QueuedMessage& msg)
blocked = true;
} else {
blocked = false;
-
Mutex::ScopedLock locker(parent->deliveryLock);
DeliveryId deliveryTag =
parent->deliveryAdapter.deliver(msg, token);
if (windowing || ackExpected) {
parent->record(DeliveryRecord(msg, queue, name, token, deliveryTag, acquire, !ackExpected));
- } else if (acquire && !ackExpected) {
+ }
+ if (acquire && !ackExpected) {
queue->dequeue(0, msg.payload);
}
}