From db88e249aedb25870b8d9e25559a36836e3d9797 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Thu, 22 Jun 2017 20:06:20 +0100 Subject: Dedupe updating logger writers --- icetray/icetray/logger.cpp | 19 +++++++++++-------- 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 @@ -125,6 +125,15 @@ namespace IceTray { return logs; } + void + LogManager::updateLoggerWriters() const + { + for (auto logger : loggers) { + Lock(logger->_lock); + logger->logs = getLogsForDomain(logger->domain); + } + } + void LogManager::addWriter(LogWriterPrx writer) { @@ -132,10 +141,7 @@ namespace IceTray { 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; -- cgit v1.2.3