summaryrefslogtreecommitdiffstats
path: root/libjava/java/net/Socket.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/Socket.java
parent5ac7b165098f351a3a8f45710a27a950098c442e (diff)
downloadppe42-gcc-3f17e0689e06ffab85f41e5f9e9318f5cce51fe6.tar.gz
ppe42-gcc-3f17e0689e06ffab85f41e5f9e9318f5cce51fe6.zip
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/Socket.java')
-rw-r--r--libjava/java/net/Socket.java47
1 files changed, 45 insertions, 2 deletions
diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java
index 7070838c7e8..cd3b5ecb857 100644
--- a/libjava/java/net/Socket.java
+++ b/libjava/java/net/Socket.java
@@ -291,16 +291,59 @@ public class Socket
if (sm != null)
sm.checkConnect(raddr.getHostName(), rport);
+ // create socket
impl.create(stream);
// FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port,
// i.e. '0' and if localAddr is unspecified, use getLocalAddress() as
// that default. JDK 1.2 doc infers not to do a bind.
+
+ // bind/connect to address/port
if (laddr != null)
- impl.bind(laddr, lport);
+ {
+ try
+ {
+ impl.bind(laddr, lport);
+ }
+ catch (IOException exception)
+ {
+ impl.close();
+ throw exception;
+ }
+ catch (RuntimeException exception)
+ {
+ impl.close();
+ throw exception;
+ }
+ catch (Error error)
+ {
+ impl.close();
+ throw error;
+ }
+ }
if (raddr != null)
- impl.connect(raddr, rport);
+ {
+ try
+ {
+ impl.connect(raddr, rport);
+ }
+ catch (IOException exception)
+ {
+ impl.close();
+ throw exception;
+ }
+ catch (RuntimeException exception)
+ {
+ impl.close();
+ throw exception;
+ }
+ catch (Error error)
+ {
+ impl.close();
+ throw error;
+ }
+ }
}
/**
OpenPOWER on IntegriCloud