yoavs       2004/09/02 11:51:00

  Modified:    webapps/docs Tag: TOMCAT_5_0 changelog.xml
               util/java/org/apache/tomcat/util/log Tag: TOMCAT_5_0
                        SystemLogHandler.java
  Log:
  Addressed Bugzilla 31018.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.70.2.28 +7 -0      jakarta-tomcat-catalina/webapps/docs/changelog.xml
  
  Index: changelog.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v
  retrieving revision 1.70.2.27
  retrieving revision 1.70.2.28
  diff -u -r1.70.2.27 -r1.70.2.28
  --- changelog.xml     2 Sep 2004 18:45:38 -0000       1.70.2.27
  +++ changelog.xml     2 Sep 2004 18:51:00 -0000       1.70.2.28
  @@ -76,6 +76,13 @@
         </fix>
       </changelog>
     </subsection>
  +  <subsection name="Coyote">
  +    <changelog>
  +      <fix>
  +        <bug>31018</bug>: Race condition in SystemLogHandler. (yoavs)
  +      </fix>
  +    </changelog>
  +  </subsection>
   </section>
   
   <section name="Tomcat 5.0.28 (yoavs)">
  
  
  
  No                   revision
  No                   revision
  1.4.2.1   +6 -4      
jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/log/SystemLogHandler.java
  
  Index: SystemLogHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/log/SystemLogHandler.java,v
  retrieving revision 1.4
  retrieving revision 1.4.2.1
  diff -u -r1.4 -r1.4.2.1
  --- SystemLogHandler.java     24 Feb 2004 08:50:06 -0000      1.4
  +++ SystemLogHandler.java     2 Sep 2004 18:51:00 -0000       1.4.2.1
  @@ -75,17 +75,19 @@
        */
       public static void startCapture() {
           CaptureLog log = null;
  -        if (!reuse.isEmpty()) {
  -            log = (CaptureLog)reuse.pop();
  -        } else {
  -            log = new CaptureLog();
  +
  +        // Synchronized for Bugzilla 31018
  +        synchronized(reuse) {
  +            log = reuse.isEmpty() ? new CaptureLog() : (CaptureLog)reuse.pop();
           }
  +
           Thread thread = Thread.currentThread();
           Stack stack = (Stack)logs.get(thread);
           if (stack == null) {
               stack = new Stack();
               logs.put(thread, stack);
           }
  +
           stack.push(log);
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to