From b6cdda8be4547011db9672a2171084135e8a82c4 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 12 Apr 2011 15:04:00 +0000 Subject: QPID-3201: locking in NullMessageStore to protect set of prepared xids git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1091443 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/NullMessageStore.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'cpp/src/qpid/broker/NullMessageStore.cpp') diff --git a/cpp/src/qpid/broker/NullMessageStore.cpp b/cpp/src/qpid/broker/NullMessageStore.cpp index dc8615d58b..43f600eaf1 100644 --- a/cpp/src/qpid/broker/NullMessageStore.cpp +++ b/cpp/src/qpid/broker/NullMessageStore.cpp @@ -126,21 +126,25 @@ std::auto_ptr NullMessageStore::begin(const std::string& void NullMessageStore::prepare(TPCTransactionContext& ctxt) { + qpid::sys::ScopedLock l(lock); prepared.insert(DummyCtxt::getXid(ctxt)); } void NullMessageStore::commit(TransactionContext& ctxt) { + qpid::sys::ScopedLock l(lock); prepared.erase(DummyCtxt::getXid(ctxt)); } void NullMessageStore::abort(TransactionContext& ctxt) { + qpid::sys::ScopedLock l(lock); prepared.erase(DummyCtxt::getXid(ctxt)); } void NullMessageStore::collectPreparedXids(std::set& out) { + qpid::sys::ScopedLock l(lock); out.insert(prepared.begin(), prepared.end()); } -- cgit v1.2.1