diff options
Diffstat (limited to 'libjava/java/net')
-rw-r--r-- | libjava/java/net/ServerSocket.java | 19 |
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; } |