From f5f6a2a4eedf296fda88efb8f5b7ac81b12d7e1a Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Tue, 28 Sep 2010 12:46:37 +0000 Subject: Ensure that a rejected message is also dequeued. Without this fix, rejected messages were dropped, but not dequeued. This meant that durable messages would 're-appear' after a restart. This also meant that the queue message count was incorrect if messages had been rejected. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1002147 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/DeliveryRecord.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'cpp/src') diff --git a/cpp/src/qpid/broker/DeliveryRecord.cpp b/cpp/src/qpid/broker/DeliveryRecord.cpp index 64db84b6ec..b3a49c485d 100644 --- a/cpp/src/qpid/broker/DeliveryRecord.cpp +++ b/cpp/src/qpid/broker/DeliveryRecord.cpp @@ -140,6 +140,8 @@ void DeliveryRecord::reject() //just drop it QPID_LOG(info, "Dropping rejected message from " << queue->getName()); } + + dequeue(); } uint32_t DeliveryRecord::getCredit() const -- cgit v1.2.1