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