diff options
author | Alan Conway <aconway@apache.org> | 2010-04-07 20:51:14 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2010-04-07 20:51:14 +0000 |
commit | b55c07d8cab266c1e39ab39e8bb47535c65cd777 (patch) | |
tree | 1e2cc363f32de0c83c329dd93e5c79d9254992a4 /cpp/src | |
parent | e65e3f05b91fb871340050c8fe57686809c72101 (diff) | |
download | qpid-python-b55c07d8cab266c1e39ab39e8bb47535c65cd777.tar.gz |
Use read-write lock to imporve Logger concurrency.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@931682 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/qpid/log/Logger.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/qpid/log/Logger.cpp b/cpp/src/qpid/log/Logger.cpp index 939e2502cc..65b4568e74 100644 --- a/cpp/src/qpid/log/Logger.cpp +++ b/cpp/src/qpid/log/Logger.cpp @@ -90,21 +90,21 @@ void Logger::log(const Statement& s, const std::string& msg) { os << msg << endl; std::string formatted=os.str(); { - ScopedLock l(lock); + sys::RWlock::ScopedRlock l(outputsLock); std::for_each(outputs.begin(), outputs.end(), boost::bind(&Output::log, _1, s, formatted)); } } void Logger::output(std::auto_ptr<Output> out) { - ScopedLock l(lock); + sys::RWlock::ScopedWlock l(outputsLock); outputs.push_back(out.release()); } void Logger::clear() { select(Selector()); // locked format(0); // locked - ScopedLock l(lock); + sys::RWlock::ScopedWlock l(outputsLock); outputs.clear(); } |