From 3f17e0689e06ffab85f41e5f9e9318f5cce51fe6 Mon Sep 17 00:00:00 2001 From: mkoch Date: Fri, 2 May 2003 09:27:59 +0000 Subject: 2003-05-02 Michael Koch * java/net/InetAddress.java: Merged class documentation with classpath. * java/net/JarURLConnection.java: Explicitely import all used classes. * java/net/URL.java: Reformatting. * java/net/ServerSocket.java, java/net/Socket.java: New versions from classpath. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66376 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/net/ServerSocket.java | 45 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'libjava/java/net/ServerSocket.java') diff --git a/libjava/java/net/ServerSocket.java b/libjava/java/net/ServerSocket.java index 0285c128c77..2d04eac452f 100644 --- a/libjava/java/net/ServerSocket.java +++ b/libjava/java/net/ServerSocket.java @@ -164,9 +164,50 @@ public class ServerSocket if (bindAddr == null) bindAddr = InetAddress.ANY_IF; + // create socket impl.create(true); - impl.bind(bindAddr, port); - impl.listen(backlog); + + // bind to address/port + try + { + impl.bind(bindAddr, port); + } + catch (IOException exception) + { + impl.close(); + throw exception; + } + catch (RuntimeException exception) + { + impl.close(); + throw exception; + } + catch (Error error) + { + impl.close(); + throw error; + } + + // listen on socket + try + { + impl.listen(backlog); + } + catch (IOException exception) + { + impl.close(); + throw exception; + } + catch (RuntimeException exception) + { + impl.close(); + throw exception; + } + catch (Error error) + { + impl.close(); + throw error; + } } /** -- cgit v1.2.3