You are viewing a plain text version of this content. The canonical link for it is here.
Posted to alexandria-dev@jakarta.apache.org by Vincent Massol <vm...@octo.com> on 2002/01/08 17:47:10 UTC
[Cactus] FW: cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/server Http10Interceptor.java
FYI,
Larry has found out why the Cactus tests were failing from time to time
on Tomcat 3.3 (see below).
Thanks
-Vincent
> -----Original Message-----
> From: larryi@apache.org [mailto:larryi@apache.org]
> Sent: 08 January 2002 00:48
> To: jakarta-tomcat-cvs@apache.org
> Subject: cvs commit: jakarta-
> tomcat/src/share/org/apache/tomcat/modules/server
Http10Interceptor.java
>
> larryi 02/01/07 16:48:20
>
> Modified: src/share/org/apache/tomcat/modules/server
> Http10Interceptor.java
> Log:
> Added a delaySocketClose attribute that when true, executes a
> Thread.sleep(0) to force a thread switch just prior to closing the
> socket.
> This was needed by Cactus to avoid "Socket reset by peer" errors on
a
> high powered Windows XP system.
>
> Also added an setSoLinger(100) to help ensure the output is
delivered.
>
> Revision Changes Path
> 1.29 +17 -0 jakarta-
>
tomcat/src/share/org/apache/tomcat/modules/server/Http10Interceptor.java
>
> Index: Http10Interceptor.java
> ===================================================================
> RCS file: /home/cvs/jakarta-
>
tomcat/src/share/org/apache/tomcat/modules/server/Http10Interceptor.java
,v
> retrieving revision 1.28
> retrieving revision 1.29
> diff -u -r1.28 -r1.29
> --- Http10Interceptor.java 7 Dec 2001 04:38:26 -0000 1.28
> +++ Http10Interceptor.java 8 Jan 2002 00:48:19 -0000 1.29
> @@ -100,9 +100,11 @@
> {
> private int timeout = 300000; // 5 minutes as in
Apache HTTPD
> server
> private String reportedname;
> + private boolean delaySocketClose = false;
>
> public Http10Interceptor() {
> super();
> + super.setSoLinger( 100 );
> // defaults:
> this.setPort( 8080 );
> }
> @@ -120,6 +122,11 @@
> public void setReportedname( String reportedName) {
> reportedname = reportedName;
> }
> +
> + public void setDelaySocketClose(boolean b) {
> + delaySocketClose=b;
> + }
> +
> // -------------------- Handler implementation
--------------------
> public void setServer( Object o ) {
> this.cm=(ContextManager)o;
> @@ -197,6 +204,16 @@
> log( "Error reading request, ignored", e, Log.ERROR);
> }
> finally {
> + // When running tests against Tomcat on the same
> + // system, we may need to force a thread switch
> + // before closing the socket to give the other
> + // end of the connection a chance to run
> + if( delaySocketClose ) {
> + try {
> + Thread.sleep(0);
> + } catch (InterruptedException ie) { /* ignore */ }
> + }
> +
> // recycle kernel sockets ASAP
> // XXX didn't honor HTTP/1.0 KeepAlive, should be fixed
> try { if (socket != null) socket.close (); }
>
>
>
>
> --
> To unsubscribe, e-mail: <mailto:tomcat-dev-
> unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:tomcat-dev-
> help@jakarta.apache.org>
>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>