Author: hgomez
Date: Thu Nov 17 23:16:53 2005
New Revision: 345466

URL: http://svn.apache.org/viewcvs?rev=345466&view=rev
Log:
Close the client socket if something goes wrong during process

Modified:
    
webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/WebServer.java

Modified: 
webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/WebServer.java
URL: 
http://svn.apache.org/viewcvs/webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/WebServer.java?rev=345466&r1=345465&r2=345466&view=diff
==============================================================================
--- 
webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/WebServer.java
 (original)
+++ 
webservices/xmlrpc/branches/XMLRPC_2_0_BRANCH/src/java/org/apache/xmlrpc/WebServer.java
 Thu Nov 17 23:16:53 2005
@@ -445,9 +445,12 @@
         {
             while (listener != null)
             {
+                Socket socket = null;
+                Runner runner = null;
+                
                 try
                 {
-                    Socket socket = serverSocket.accept();
+                    socket = serverSocket.accept();
                     try
                     {
                         socket.setTcpNoDelay(true);
@@ -459,7 +462,7 @@
 
                     if (allowConnection(socket))
                     {
-                        Runner runner = getRunner();
+                        runner = getRunner();
                         runner.handle(socket);
                     }
                     else
@@ -487,6 +490,19 @@
                             + err + ").");
                     err.printStackTrace();
                 }
+                finally
+                {
+                    if (runner == null && socket != null)
+                    {
+                           try
+                           {
+                               socket.close();
+                           }
+                           catch (Throwable e)
+                           {
+                           }
+                    }
+               }
             }
         }
         catch (Exception exception)


Reply via email to