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);