summaryrefslogtreecommitdiff
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
commitd0d4877249bcaea74783acc5d298a2b857f98645 (patch)
tree8cbdece59a2d874f04e75ad8e2313e22e5450b08
parenta9b01b09befb764d0deedd548ace173728017331 (diff)
downloadqpid-python-d0d4877249bcaea74783acc5d298a2b857f98645.tar.gz
QPID-3563: Protect from concurrent access to accept tracker state
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1195385 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp b/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
index 3badaf40ba..715376fd8d 100644
--- a/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp
+++ b/qpid/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);