aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorIto Kazumitsu <kaz@maczuka.gcd.org>2004-03-21 11:00:48 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2004-03-21 11:00:48 +0000
commitde205e06bae4a2e9c4c186aa81c481dca4a71425 (patch)
tree3e299ea973827534ce0f6e59fa8a1a25c68d08fd /libjava
parentbdf11d55678846e062014be8d9937833b1b824ed (diff)
downloadgcc-de205e06bae4a2e9c4c186aa81c481dca4a71425.zip
gcc-de205e06bae4a2e9c4c186aa81c481dca4a71425.tar.gz
gcc-de205e06bae4a2e9c4c186aa81c481dca4a71425.tar.bz2
2004-03-21 Ito Kazumitsu <kaz@maczuka.gcd.org>
* java/net/ServerSocket.java (accept): Close the socket when error occured. From-SVN: r79774
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;
}