Author: markt
Date: Mon Sep 5 12:09:28 2011
New Revision: 1165253
URL: http://svn.apache.org/viewvc?rev=1165253&view=rev
Log:
Start to align the request finish code
Modified:
tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=1165253&r1=1165252&r2=1165253&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Mon Sep
5 12:09:28 2011
@@ -290,15 +290,20 @@ public class Http11AprProcessor extends
}
// Finish the handling of the request
- if (!comet && !isAsync()) {
- // If we know we are closing the connection, don't drain input.
- // This way uploading a 100GB file doesn't tie up the thread
- // if the servlet has rejected it.
- if(error)
+ rp.setStage(org.apache.coyote.Constants.STAGE_ENDINPUT);
+
+ if (!isAsync() && !comet) {
+ if (error) {
+ // If we know we are closing the connection, don't drain
+ // input. This way uploading a 100GB file doesn't tie up
the
+ // thread if the servlet has rejected it.
inputBuffer.setSwallowInput(false);
+ }
endRequest();
}
+ rp.setStage(org.apache.coyote.Constants.STAGE_ENDOUTPUT);
+
// If there was an error, make sure the request is counted as
// and error, and update the statistics counter
if (error) {
@@ -336,7 +341,6 @@ public class Http11AprProcessor extends
}
rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
-
}
rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=1165253&r1=1165252&r2=1165253&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Mon Sep
5 12:09:28 2011
@@ -351,15 +351,20 @@ public class Http11NioProcessor extends
}
// Finish the handling of the request
- if (!comet && !isAsync()) {
- // If we know we are closing the connection, don't drain input.
- // This way uploading a 100GB file doesn't tie up the thread
- // if the servlet has rejected it.
- if(error)
+ rp.setStage(org.apache.coyote.Constants.STAGE_ENDINPUT);
+
+ if (!isAsync() && !comet) {
+ if(error) {
+ // If we know we are closing the connection, don't drain
+ // input. This way uploading a 100GB file doesn't tie up
the
+ // thread if the servlet has rejected it.
inputBuffer.setSwallowInput(false);
+ }
endRequest();
}
+ rp.setStage(org.apache.coyote.Constants.STAGE_ENDOUTPUT);
+
// If there was an error, make sure the request is counted as
// and error, and update the statistics counter
if (error) {
@@ -385,10 +390,8 @@ public class Http11NioProcessor extends
break;
}
-
rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
-
- }//while
+ }
rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);
if (error || endpoint.isPaused()) {
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=1165253&r1=1165252&r2=1165253&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Mon Sep 5
12:09:28 2011
@@ -284,16 +284,16 @@ public class Http11Processor extends Abs
// Finish the handling of the request
rp.setStage(org.apache.coyote.Constants.STAGE_ENDINPUT);
-
- if(error && !isAsync()) {
- // If we know we are closing the connection, don't drain
- // input. This way uploading a 100GB file doesn't tie up the
- // thread if the servlet has rejected it.
- inputBuffer.setSwallowInput(false);
- }
- if (!isAsync())
+ if(!isAsync() && !comet) {
+ if (error) {
+ // If we know we are closing the connection, don't drain
+ // input. This way uploading a 100GB file doesn't tie up
the
+ // thread if the servlet has rejected it.
+ inputBuffer.setSwallowInput(false);
+ }
endRequest();
+ }
rp.setStage(org.apache.coyote.Constants.STAGE_ENDOUTPUT);
@@ -304,11 +304,6 @@ public class Http11Processor extends Abs
}
request.updateCounters();
- rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
-
- // Don't reset the param - we'll see it as ended. Next request
- // will reset it
- // thrA.setParam(null);
// Next request
if (!isAsync() || error) {
inputBuffer.nextRequest();
@@ -320,6 +315,8 @@ public class Http11Processor extends Abs
if (isAsync() || error || inputBuffer.lastValid == 0) {
break;
}
+
+ rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
}
rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]