From c9b6567bbd2167284d357f4021954e8e5f976b67 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Tue, 12 Nov 2013 16:58:36 +0000 Subject: QPID-5275: Add missing lock to ExchangeRegistry::registerExchange Discovered while working on QPID-5275: ExchangeRegistry::registerExchange was not taking the write lock. Caused sporadic core dumps in ha_tests.py, tx_block_threads. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541145 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'qpid/cpp') diff --git a/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp b/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp index 34a31fe769..c43e6afc89 100644 --- a/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp +++ b/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp @@ -146,6 +146,7 @@ Exchange::shared_ptr ExchangeRegistry::get(const string& name) { } bool ExchangeRegistry::registerExchange(const Exchange::shared_ptr& ex) { + RWlock::ScopedWlock locker(lock); return exchanges.insert(ExchangeMap::value_type(ex->getName(), ex)).second; } -- cgit v1.2.1