The branch, master has been updated
       via  8ef964606da95d04e7ee0297cc25ffca661d265f (commit)
      from  742e903cdbc5ebe7470f4e8f32fa8ac03bce0b6a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=8ef964606da95d04e7ee0297cc25ffca661d265f
http://github.com/ceki/logback/commit/8ef964606da95d04e7ee0297cc25ffca661d265f

commit 8ef964606da95d04e7ee0297cc25ffca661d265f
Author: Ceki Gulcu <[email protected]>
Date:   Wed Dec 2 23:59:11 2009 +0100

    cosmetic change in relation to context synchronization

diff --git 
a/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java 
b/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
index 9f14412..95347d2 100644
--- 
a/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
+++ 
b/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
@@ -67,6 +67,7 @@ public class LogbackValve extends ValveBase implements 
Lifecycle, Context,
       + "logback-access.xml";
   
   private long birthTime = System.currentTimeMillis();
+  Object configurationLock = new Object();
 
   
   // Attributes from ContextBase:
@@ -268,6 +269,10 @@ public class LogbackValve extends ValveBase implements 
Lifecycle, Context,
   public long getBithTime() {
     return birthTime;
   }
+
+  public Object getConfigurationLock() {
+    return configurationLock;
+  }
   
   // ====== Methods from catalina Lifecycle =====
 
@@ -283,6 +288,4 @@ public class LogbackValve extends ValveBase implements 
Lifecycle, Context,
     // dummy NOP implementation
   }
 
-
-
 }
diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java 
b/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
index 1fdbaeb..36ed7af 100644
--- a/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
+++ b/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java
@@ -68,7 +68,7 @@ public class LoggerContext extends ContextBase implements 
ILoggerFactory,
   boolean started = false;
 
   int resetCount = 0;
-  
+
   public LoggerContext() {
     super();
     this.loggerCache = new Hashtable<String, Logger>();
@@ -170,7 +170,7 @@ public class LoggerContext extends ContextBase implements 
ILoggerFactory,
    * reference, otherwise returns <code>null</code>.
    * 
    * @param name
-   *                the name of the logger to search for.
+   *          the name of the logger to search for.
    */
   public Logger exists(String name) {
     return (Logger) loggerCache.get(name);
diff --git 
a/logback-classic/src/main/java/ch/qos/logback/classic/turbo/ReconfigureOnChangeFilter.java
 
b/logback-classic/src/main/java/ch/qos/logback/classic/turbo/ReconfigureOnChangeFilter.java
index 4bc1f33..ce82a6f 100644
--- 
a/logback-classic/src/main/java/ch/qos/logback/classic/turbo/ReconfigureOnChangeFilter.java
+++ 
b/logback-classic/src/main/java/ch/qos/logback/classic/turbo/ReconfigureOnChangeFilter.java
@@ -56,7 +56,7 @@ public class ReconfigureOnChangeFilter extends TurboFilter {
     if (url != null) {
       fileToScan = convertToFile(url);
       if (fileToScan != null) {
-        synchronized (context) {
+        synchronized (context.getConfigurationLock()) {
           long inSeconds = refreshPeriod / 1000;
           addInfo("Will scan for changes in file [" + fileToScan + "] every "
               + inSeconds + " seconds. ");
@@ -102,7 +102,7 @@ public class ReconfigureOnChangeFilter extends TurboFilter {
       return FilterReply.NEUTRAL;
     }
 
-    synchronized (context) {
+    synchronized (context.getConfigurationLock()) {
       boolean changed = changeDetected();
       if (changed) {
         addInfo("Detected change in [" + fileToScan + "]");
diff --git a/logback-core/src/main/java/ch/qos/logback/core/Context.java 
b/logback-core/src/main/java/ch/qos/logback/core/Context.java
index 039c2f9..863896f 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/Context.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/Context.java
@@ -86,4 +86,11 @@ public interface Context extends PropertyContainer {
    * @return The time as measured when this class was created.
    */
   public long getBithTime();
+  
+  /**
+   * Object used for synchronization purposes. 
+   * INTENDED FOR INTERNAL USAGE.
+   */
+  public Object getConfigurationLock();
+
 }
diff --git a/logback-core/src/main/java/ch/qos/logback/core/ContextBase.java 
b/logback-core/src/main/java/ch/qos/logback/core/ContextBase.java
index 41ac456..5e2fd6e 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/ContextBase.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/ContextBase.java
@@ -30,6 +30,8 @@ public class ContextBase implements Context {
   Map<String, String> propertyMap = new HashMap<String, String>();
   Map<String, Object> objectMap = new HashMap<String, Object>();
 
+  Object configurationLock = new Object();
+  
   public StatusManager getStatusManager() {
     return sm;
   }
@@ -108,4 +110,8 @@ public class ContextBase implements Context {
   public long getBithTime() {
     return birthTime;
   }
+
+  public Object getConfigurationLock() {
+    return configurationLock;
+  }
 }
diff --git 
a/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java 
b/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
index 2346adf..80a83cc 100644
--- 
a/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
+++ 
b/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
@@ -122,7 +122,7 @@ public abstract class GenericConfigurator extends 
ContextAwareBase {
     recorder.recordEvents(inputSource);
     buildInterpreter();
     // disallow simultaneous configurations of the same context
-    synchronized (context) {
+    synchronized (context.getConfigurationLock()) {
       interpreter.play(recorder.saxEventList);
     }
   }

-----------------------------------------------------------------------

Summary of changes:
 .../ch/qos/logback/access/tomcat/LogbackValve.java |    7 +++++--
 .../java/ch/qos/logback/classic/LoggerContext.java |    4 ++--
 .../classic/turbo/ReconfigureOnChangeFilter.java   |    4 ++--
 .../src/main/java/ch/qos/logback/core/Context.java |    7 +++++++
 .../main/java/ch/qos/logback/core/ContextBase.java |    6 ++++++
 .../logback/core/joran/GenericConfigurator.java    |    2 +-
 6 files changed, 23 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
Logback: the generic, reliable, fast and flexible logging framework.
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to