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)