You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by ni...@apache.org on 2004/09/13 09:04:03 UTC
cvs commit: logging-log4net/src/Repository/Hierarchy Logger.cs
nicko 2004/09/13 00:04:03
Modified: src/Repository/Hierarchy Logger.cs
Log:
Perf fix to Logger. Added test before AcquireReaderLock
Revision Changes Path
1.5 +12 -9 logging-log4net/src/Repository/Hierarchy/Logger.cs
Index: Logger.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Repository/Hierarchy/Logger.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Logger.cs 23 Feb 2004 03:18:04 -0000 1.4
+++ Logger.cs 13 Sep 2004 07:04:03 -0000 1.5
@@ -430,18 +430,21 @@
for(Logger c=this; c != null; c=c.m_parent)
{
- // Protected against simultaneous call to addAppender, removeAppender,...
- c.m_appenderLock.AcquireReaderLock();
- try
+ if (c.m_appenderAttachedImpl != null)
{
- if (c.m_appenderAttachedImpl != null)
+ // Protected against simultaneous call to addAppender, removeAppender,...
+ c.m_appenderLock.AcquireReaderLock();
+ try
{
- writes += c.m_appenderAttachedImpl.AppendLoopOnAppenders(loggingEvent);
+ if (c.m_appenderAttachedImpl != null)
+ {
+ writes += c.m_appenderAttachedImpl.AppendLoopOnAppenders(loggingEvent);
+ }
+ }
+ finally
+ {
+ c.m_appenderLock.ReleaseReaderLock();
}
- }
- finally
- {
- c.m_appenderLock.ReleaseReaderLock();
}
if (!c.m_additive)