summaryrefslogtreecommitdiff
path: root/libjava/java/net/ServerSocket.java
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-02 09:27:59 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-02 09:27:59 +0000
commit3f17e0689e06ffab85f41e5f9e9318f5cce51fe6 (patch)
treed395dadb3026a885728844a608ac376f88c1f984 /libjava/java/net/ServerSocket.java
parent5ac7b165098f351a3a8f45710a27a950098c442e (diff)
downloadgcc-3f17e0689e06ffab85f41e5f9e9318f5cce51fe6.tar.gz
2003-05-02 Michael Koch <konqueror@gmx.de>
* 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
Diffstat (limited to 'libjava/java/net/ServerSocket.java')
-rw-r--r--libjava/java/net/ServerSocket.java45
1 files changed, 43 insertions, 2 deletions
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;
+ }
}
/**