diff --git a/libjava/ChangeLog b/libjava/ChangeLog index e9730a02a26..ff1aa8d0d31 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-03-21 Ito Kazumitsu + + * java/net/ServerSocket.java + (accept): Close the socket when error occured. + 2004-03-21 Jeroen Frijters * java/net/URI.java (parseURI): Added unquoting. diff --git a/libjava/java/net/ServerSocket.java b/libjava/java/net/ServerSocket.java index df338091291..be3f8008d86 100644 --- a/libjava/java/net/ServerSocket.java +++ b/libjava/java/net/ServerSocket.java @@ -323,7 +323,24 @@ public class ServerSocket sm.checkListen (impl.getLocalPort ()); Socket socket = new Socket(); - implAccept (socket); + + try + { + implAccept(socket); + } + catch (IOException e) + { + try + { + socket.close(); + } + catch (IOException e2) + { + } + + throw e; + } + return socket; }