summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2011-10-31 09:59:10 +0000
committerGordon Sim <gsim@apache.org>2011-10-31 09:59:10 +0000
commit254fcbeeb37ce841ef67164fff50b816c59f1efc (patch)
tree73d3639a1ea572a8b68d9815dba846c8867c3017 /cpp
parent95fc32349ea4c2ab21426015dab22fb27910291e (diff)
downloadqpid-python-254fcbeeb37ce841ef67164fff50b816c59f1efc.tar.gz
QPID-3563: Protect from concurrent access to accept tracker state
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1195385 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp b/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
index 3badaf40ba..715376fd8d 100644
--- a/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
+++ b/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
@@ -276,6 +276,7 @@ void IncomingMessages::retrieve(FrameSetPtr command, qpid::messaging::Message* m
}
const MessageTransferBody* transfer = command->as<MessageTransferBody>();
if (transfer->getAcquireMode() == ACQUIRE_MODE_PRE_ACQUIRED && transfer->getAcceptMode() == ACCEPT_MODE_EXPLICIT) {
+ sys::Mutex::ScopedLock l(lock);
acceptTracker.delivered(transfer->getDestination(), command->getId());
}
session.markCompleted(command->getId(), false, false);