diff options
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/net/ServerSocket.java | 19 |
2 files changed, 23 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index e9730a0..ff1aa8d 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-03-21 Ito Kazumitsu <kaz@maczuka.gcd.org> + + * java/net/ServerSocket.java + (accept): Close the socket when error occured. + 2004-03-21 Jeroen Frijters <jeroen@frijters.net> * java/net/URI.java (parseURI): Added unquoting. diff --git a/libjava/java/net/ServerSocket.java b/libjava/java/net/ServerSocket.java index df33809..be3f800 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; } |