diff options
| -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;  | 
