Author: markt
Date: Mon Sep 14 15:39:46 2015
New Revision: 1702971

URL: http://svn.apache.org/r1702971
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58371
Fix data race accessing request URI in String form when switching from 
non-async to async due to early triggering of the gathering of request 
statistics.

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1702971&r1=1702970&r2=1702971&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Mon Sep 14 
15:39:46 2015
@@ -1142,9 +1142,9 @@ public class Http11Processor extends Abs
             if (getErrorState().isError()) {
                 response.setStatus(500);
             }
-            request.updateCounters();
 
             if (!isAsync() || getErrorState().isError()) {
+                request.updateCounters();
                 if (getErrorState().isIoAllowed()) {
                     inputBuffer.nextRequest();
                     outputBuffer.nextRequest();
@@ -1751,10 +1751,12 @@ public class Http11Processor extends Abs
         rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);
 
         if (getErrorState().isError()) {
+            request.updateCounters();
             return SocketState.CLOSED;
         } else if (isAsync()) {
             return SocketState.LONG;
         } else {
+            request.updateCounters();
             if (!keepAlive) {
                 return SocketState.CLOSED;
             } else {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to