ceki 01/05/09 11:59:18 Modified: src/java/org/apache/log4j AsyncAppender.java BasicConfigurator.java src/java/org/apache/log4j/test Shallow.java Log: Fixed bug 1669. yet another dealock bug. Revision Changes Path 1.18 +23 -15 jakarta-log4j/src/java/org/apache/log4j/AsyncAppender.java Index: AsyncAppender.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/AsyncAppender.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- AsyncAppender.java 2001/05/08 19:20:57 1.17 +++ AsyncAppender.java 2001/05/09 18:59:10 1.18 @@ -94,10 +94,12 @@ dispatcher.start(); } - synchronized + public void addAppender(Appender newAppender) { - aai.addAppender(newAppender); + synchronized(aai) { + aai.addAppender(newAppender); + } } public @@ -112,7 +114,7 @@ synchronized(bf) { while(bf.isFull()) { try { - //cat.debug("Waiting for free space in buffer."); + //LogLog.debug("Waiting for free space in buffer, "+bf.length()); bf.wait(); } catch(InterruptedException e) { if(!interruptedWarningMessage) { @@ -161,16 +163,18 @@ bf = null; } - synchronized public Enumeration getAllAppenders() { - return aai.getAllAppenders(); + synchronized(aai) { + return aai.getAllAppenders(); + } } - synchronized public Appender getAppender(String name) { - return aai.getAppender(name); + synchronized(aai) { + return aai.getAppender(name); + } } /** @@ -190,22 +194,26 @@ return false; } - synchronized public void removeAllAppenders() { - aai.removeAllAppenders(); + synchronized(aai) { + aai.removeAllAppenders(); + } } - synchronized + public void removeAppender(Appender appender) { - aai.removeAppender(appender); + synchronized(aai) { + aai.removeAppender(appender); + } } - synchronized public void removeAppender(String name) { - aai.removeAppender(name); + synchronized(aai) { + aai.removeAppender(name); + } } /** @@ -337,7 +345,7 @@ this.aai = container.aai; // set the dispatcher priority to lowest possible value this.setPriority(Thread.MIN_PRIORITY); - this.setName(container.getName()+"Dispatcher"); + this.setName("Dispatcher-"+getName()); // set the dispatcher priority to MIN_PRIORITY plus or minus 2 // depending on the direction of MIN to MAX_PRIORITY. //+ (Thread.MAX_PRIORITY > Thread.MIN_PRIORITY ? 1 : -1)*2); @@ -399,7 +407,7 @@ // The synchronization on parent is necessary to protect against // operations on the aai object of the parent - synchronized(container) { + synchronized(container.aai) { if(aai != null && event != null) { aai.appendLoopOnAppenders(event); } 1.13 +6 -0 jakarta-log4j/src/java/org/apache/log4j/BasicConfigurator.java Index: BasicConfigurator.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/BasicConfigurator.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- BasicConfigurator.java 2001/04/14 06:57:21 1.12 +++ BasicConfigurator.java 2001/05/09 18:59:11 1.13 @@ -122,6 +122,7 @@ @deprecated Use <code>Category.getDefaultHierarchy().disable()</code> instead. */ public + static void disable(String priorityStr) { Category.getDefaultHierarchy().disable(priorityStr); } @@ -131,6 +132,7 @@ @deprecated Use <code>Category.getDefaultHierarchy().disable(p)</code> instead. */ public + static void disable(Priority p) { } @@ -141,6 +143,7 @@ @deprecated Use <code>Category.getDefaultHierarchy().disableAll()</code> instead. */ public + static void disableAll() { Category.getDefaultHierarchy().disable(Priority.FATAL); } @@ -150,6 +153,7 @@ @deprecated Use <code>Category.getDefaultHierarchy().disableDebug()</code> instead. */ public + static void disableDebug() { Category.getDefaultHierarchy().disable(Priority.DEBUG); } @@ -159,6 +163,7 @@ @deprecated Use <code>Category.getDefaultHierarchy().disableInfo()</code> instead. */ public + static void disableInfo() { Category.getDefaultHierarchy().disable(Priority.INFO); } @@ -169,6 +174,7 @@ @deprecated Use <code>Category.getDefaultHierarchy().enableAll()</code> instead. */ public + static void enableAll() { Category.getDefaultHierarchy().disable(Priority.INFO); } 1.5 +1 -1 jakarta-log4j/src/java/org/apache/log4j/test/Shallow.java Index: Shallow.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/test/Shallow.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Shallow.java 2001/01/18 17:25:34 1.4 +++ Shallow.java 2001/05/09 18:59:16 1.5 @@ -13,7 +13,7 @@ import org.apache.log4j.Priority; import java.io.IOException; import java.util.Enumeration; -/** +/** This class is a shallow test of the various appenders and layouts. It also tests their reading of the configuration file. @author Ceki Gülcü --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]