diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-06-22 20:06:20 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-06-22 20:06:20 +0100 |
commit | db88e249aedb25870b8d9e25559a36836e3d9797 (patch) | |
tree | 0a07ac816180887245860ba332fc86989c0a3f1d | |
parent | Add a basic console writer (diff) | |
download | icetray-db88e249aedb25870b8d9e25559a36836e3d9797.tar.bz2 icetray-db88e249aedb25870b8d9e25559a36836e3d9797.tar.xz icetray-db88e249aedb25870b8d9e25559a36836e3d9797.zip |
Dedupe updating logger writersicetray-0.1.5
-rw-r--r-- | icetray/icetray/logger.cpp | 19 | ||||
-rw-r--r-- | icetray/icetray/logger.h | 1 |
2 files changed, 12 insertions, 8 deletions
diff --git a/icetray/icetray/logger.cpp b/icetray/icetray/logger.cpp index 5e17af5..fadb0a4 100644 --- a/icetray/icetray/logger.cpp +++ b/icetray/icetray/logger.cpp @@ -126,16 +126,22 @@ namespace IceTray { } void + LogManager::updateLoggerWriters() const + { + for (auto logger : loggers) { + Lock(logger->_lock); + logger->logs = getLogsForDomain(logger->domain); + } + } + + void LogManager::addWriter(LogWriterPrx writer) { UpgradableLock(_lock, l); UpgradeScopeLock(l) { logWriters.insert(writer); } - for (auto logger : loggers) { - Lock(logger->_lock); - logger->logs = getLogsForDomain(logger->domain); - } + updateLoggerWriters(); } void @@ -145,10 +151,7 @@ namespace IceTray { UpgradeScopeLock(l) { logWriters.erase(writer); } - for (auto logger : loggers) { - Lock(logger->_lock); - logger->logs = getLogsForDomain(logger->domain); - } + updateLoggerWriters(); } AbstractLogWriter::AbstractLogWriter() diff --git a/icetray/icetray/logger.h b/icetray/icetray/logger.h index e78a126..75925b9 100644 --- a/icetray/icetray/logger.h +++ b/icetray/icetray/logger.h @@ -82,6 +82,7 @@ namespace IceTray { void removeWriter(LogWriterPrx writer); private: + void updateLoggerWriters() const; mutable boost::shared_mutex _lock; Loggers loggers; LogWriters logWriters; |