diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/qpid/broker/BrokerQueue.cpp | 2 | ||||
-rw-r--r-- | cpp/src/qpid/broker/RecoveredDequeue.cpp | 1 | ||||
-rw-r--r-- | cpp/src/qpid/broker/RecoveredEnqueue.cpp | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/BrokerQueue.cpp b/cpp/src/qpid/broker/BrokerQueue.cpp index ea092bb33b..5567131c19 100644 --- a/cpp/src/qpid/broker/BrokerQueue.cpp +++ b/cpp/src/qpid/broker/BrokerQueue.cpp @@ -103,9 +103,9 @@ void Queue::process(Message::shared_ptr& msg){ } void Queue::requeue(Message::shared_ptr& msg){ - { Mutex::ScopedLock locker(messageLock); + msg->enqueueComplete(); // mark the message as enqueued messages.push_front(msg); } serializer.execute(dispatchCallback); diff --git a/cpp/src/qpid/broker/RecoveredDequeue.cpp b/cpp/src/qpid/broker/RecoveredDequeue.cpp index 4551bf8761..b59a7f98c8 100644 --- a/cpp/src/qpid/broker/RecoveredDequeue.cpp +++ b/cpp/src/qpid/broker/RecoveredDequeue.cpp @@ -33,6 +33,7 @@ void RecoveredDequeue::commit() throw(){ } void RecoveredDequeue::rollback() throw(){ + msg->enqueueComplete(); queue->process(msg); } diff --git a/cpp/src/qpid/broker/RecoveredEnqueue.cpp b/cpp/src/qpid/broker/RecoveredEnqueue.cpp index 533af864b6..e5019affd8 100644 --- a/cpp/src/qpid/broker/RecoveredEnqueue.cpp +++ b/cpp/src/qpid/broker/RecoveredEnqueue.cpp @@ -30,6 +30,7 @@ bool RecoveredEnqueue::prepare(TransactionContext*) throw(){ } void RecoveredEnqueue::commit() throw(){ + msg->enqueueComplete(); queue->process(msg); } |