You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@locus.apache.org on 2000/01/30 03:25:34 UTC

cvs commit: jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/logger FileLogger.java

craigmcc    00/01/29 18:25:34

  Modified:    proposals/catalina/src/share/org/apache/tomcat/logger
                        FileLogger.java
  Log:
  Protect against a potential race condition when switching log files because
  the date changed.
  
  Revision  Changes    Path
  1.4       +9 -7      jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/logger/FileLogger.java
  
  Index: FileLogger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/logger/FileLogger.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FileLogger.java	2000/01/29 07:46:34	1.3
  +++ FileLogger.java	2000/01/30 02:25:34	1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/logger/FileLogger.java,v 1.3 2000/01/29 07:46:34 craigmcc Exp $
  - * $Revision: 1.3 $
  - * $Date: 2000/01/29 07:46:34 $
  + * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/logger/FileLogger.java,v 1.4 2000/01/30 02:25:34 craigmcc Exp $
  + * $Revision: 1.4 $
  + * $Date: 2000/01/30 02:25:34 $
    *
    * ====================================================================
    *
  @@ -83,7 +83,7 @@
    * optional preceding timestamp.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.3 $ $Date: 2000/01/29 07:46:34 $
  + * @version $Revision: 1.4 $ $Date: 2000/01/30 02:25:34 $
    */
   
   public final class FileLogger
  @@ -271,9 +271,11 @@
   
   	// If the date has changed, switch log files
   	if (!date.equals(tsDate)) {
  -	    close();
  -	    date = tsDate;
  -	    open();
  +	    synchronized (this) {
  +		close();
  +		date = tsDate;
  +		open();
  +	    }
   	}
   
   	// Log this message, timestamped if necessary