summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-21 11:00:48 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-21 11:00:48 +0000
commit9c28606403f5bfa8bf375ba50f64bef17ddd1af2 (patch)
tree3e299ea973827534ce0f6e59fa8a1a25c68d08fd /libjava
parent3f874ca89071ba6b8f2421b9c31db969bdb10816 (diff)
downloadgcc-9c28606403f5bfa8bf375ba50f64bef17ddd1af2.tar.gz
2004-03-21 Ito Kazumitsu <kaz@maczuka.gcd.org>
* java/net/ServerSocket.java (accept): Close the socket when error occured. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79774 138bc75d-0d04-0410-961f-82ee72b054a4
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 e9730a02a26..ff1aa8d0d31 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 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;
}