diff options
| author | Alan Conway <aconway@apache.org> | 2010-05-12 19:20:41 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-05-12 19:20:41 +0000 |
| commit | 71f061dafa318a9c7bf58571487b433546a4ac2a (patch) | |
| tree | 0f8c56b8aef500331b4eb49b11a3094b8683b589 /qpid/cpp/src | |
| parent | b012d8984703119531d02a9bb63e0fd7ac02373c (diff) | |
| download | qpid-python-71f061dafa318a9c7bf58571487b433546a4ac2a.tar.gz | |
Remove incorrect optimization in Logger.
Use of read-write lock causes a race in log.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@943641 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/qpid/log/Logger.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/log/Logger.cpp b/qpid/cpp/src/qpid/log/Logger.cpp index 65b4568e74..939e2502cc 100644 --- a/qpid/cpp/src/qpid/log/Logger.cpp +++ b/qpid/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(); { - sys::RWlock::ScopedRlock l(outputsLock); + ScopedLock l(lock); std::for_each(outputs.begin(), outputs.end(), boost::bind(&Output::log, _1, s, formatted)); } } void Logger::output(std::auto_ptr<Output> out) { - sys::RWlock::ScopedWlock l(outputsLock); + ScopedLock l(lock); outputs.push_back(out.release()); } void Logger::clear() { select(Selector()); // locked format(0); // locked - sys::RWlock::ScopedWlock l(outputsLock); + ScopedLock l(lock); outputs.clear(); } |
