aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/net/ServerSocket.java19
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;
}