remm        01/03/16 21:28:38

  Modified:    catalina/src/share/org/apache/catalina/connector/http
                        HttpConnector.java
  Log:
  - If an accept exception occurs, close and reopen the server socket.
    The connections which are open when this happens will be closed.
    Accept exceptions should be a rare occurence, though, so hopefully it's
    not a problem.
    Bug reported (along with a patch) by Michael Smith (msmith at xn.com.au)
  
  Revision  Changes    Path
  1.9       +12 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java
  
  Index: HttpConnector.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- HttpConnector.java        2001/01/23 03:53:00     1.8
  +++ HttpConnector.java        2001/03/17 05:28:38     1.9
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v
 1.8 2001/01/23 03:53:00 remm Exp $
  - * $Revision: 1.8 $
  - * $Date: 2001/01/23 03:53:00 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/HttpConnector.java,v
 1.9 2001/03/17 05:28:38 remm Exp $
  + * $Revision: 1.9 $
  + * $Date: 2001/03/17 05:28:38 $
    *
    * ====================================================================
    *
  @@ -94,7 +94,7 @@
    *
    * @author Craig R. McClanahan
    * @author Remy Maucherat
  - * @version $Revision: 1.8 $ $Date: 2001/01/23 03:53:00 $
  + * @version $Revision: 1.9 $ $Date: 2001/03/17 05:28:38 $
    */
   
   
  @@ -767,7 +767,15 @@
            } catch (IOException e) {
                if (started && !stopped)
                    log("accept: ", e);
  -             break;
  +             try {
  +                    serverSocket.close();
  +                    serverSocket = open();
  +                } catch (IOException ex) {
  +                    // If reopening fails, exit
  +                    log("socket reopen: ", ex);
  +                    break;
  +                }
  +                continue;
            }
   
            // Hand this socket off to an appropriate processor
  
  
  

Reply via email to