You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2001/03/21 18:11:45 UTC

cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/service/http HttpConnectionHandler.java

marcsaeg    01/03/21 09:11:43

  Modified:    src/share/org/apache/tomcat/service Tag: tomcat_32
                        PoolTcpEndpoint.java
               src/share/org/apache/tomcat/service/http Tag: tomcat_32
                        HttpConnectionHandler.java
  Log:
  Moving the recently added socket timeout handling from PoolTcpEndpoint into
  the HTTP connection handler where it belongs (thanks Henri).  There
  are other users of the PoolTcpEndpoint code that will break if the
  socket read times out.
  
  PR:  1006
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.8.2.5   +3 -6      jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java
  
  Index: PoolTcpEndpoint.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java,v
  retrieving revision 1.8.2.4
  retrieving revision 1.8.2.5
  diff -u -r1.8.2.4 -r1.8.2.5
  --- PoolTcpEndpoint.java	2001/03/20 22:21:25	1.8.2.4
  +++ PoolTcpEndpoint.java	2001/03/21 17:11:29	1.8.2.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java,v 1.8.2.4 2001/03/20 22:21:25 marcsaeg Exp $
  - * $Revision: 1.8.2.4 $
  - * $Date: 2001/03/20 22:21:25 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java,v 1.8.2.5 2001/03/21 17:11:29 marcsaeg Exp $
  + * $Revision: 1.8.2.5 $
  + * $Date: 2001/03/21 17:11:29 $
    *
    * ====================================================================
    *
  @@ -290,9 +290,6 @@
           		            accepted = null;
           		        }
       		        }
  -
  -                    if(accepted != null)
  -                        accepted.setSoTimeout(timeout);
               if( factory != null && accepted != null)
                   factory.initSocket( accepted );
       	        }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.26.2.4  +18 -3     jakarta-tomcat/src/share/org/apache/tomcat/service/http/Attic/HttpConnectionHandler.java
  
  Index: HttpConnectionHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/http/Attic/HttpConnectionHandler.java,v
  retrieving revision 1.26.2.3
  retrieving revision 1.26.2.4
  diff -u -r1.26.2.3 -r1.26.2.4
  --- HttpConnectionHandler.java	2000/10/04 20:23:56	1.26.2.3
  +++ HttpConnectionHandler.java	2001/03/21 17:11:38	1.26.2.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/http/Attic/HttpConnectionHandler.java,v 1.26.2.3 2000/10/04 20:23:56 costin Exp $
  - * $Revision: 1.26.2.3 $
  - * $Date: 2000/10/04 20:23:56 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/http/Attic/HttpConnectionHandler.java,v 1.26.2.4 2001/03/21 17:11:38 marcsaeg Exp $
  + * $Revision: 1.26.2.4 $
  + * $Date: 2001/03/21 17:11:38 $
    *
    * ====================================================================
    *
  @@ -77,6 +77,8 @@
   
   public class HttpConnectionHandler  implements  TcpConnectionHandler {
   
  +    private int timeout = 300000;  // 5 minutes
  +
       boolean secure=false;
       ContextManager contextM;
       
  @@ -139,6 +141,7 @@
   		return;
   	    //	    System.out.print("1");
   	    socket=connection.getSocket();
  +        socket.setSoTimeout(timeout);
   	    if (socket == null)
   		return;
   	    //	    System.out.print("2");
  @@ -230,6 +233,18 @@
   	    // SocketExceptions are normal
   	    contextM.doLog( "SocketException reading request, ignored", e, Logger.INFORMATION);
   	}
  +    catch (java.io.InterruptedIOException ioe) {
  +        // InterruptedIOException are timeout and we must abort process
  +        ioe.printStackTrace();
  +        contextM.doLog( "Timeout while reading request, aborting", ioe, Logger.ERROR);
  +        try{
  +            if (socket != null)
  +                socket.close ();
  +        }
  +        catch (IOException e){
  +             /* ignore */
  +        }
  +    }	
   	catch (java.io.IOException e) {
   	    // IOExceptions are normal 
   	    contextM.doLog( "IOException reading request, ignored", e, Logger.INFORMATION);