aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-06-11 10:38:38 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-06-11 10:38:38 +0000
commit39b3ceceeee9941cf32a103b459e6592c122860b (patch)
treef890503152ecb0e7f0d6abe3895387039a641a44 /libjava/java
parent37f3981f8062d2c331a143e90cbacbf021661c49 (diff)
downloadgcc-39b3ceceeee9941cf32a103b459e6592c122860b.zip
gcc-39b3ceceeee9941cf32a103b459e6592c122860b.tar.gz
gcc-39b3ceceeee9941cf32a103b459e6592c122860b.tar.bz2
DatagramSocket.java: Partly merged with classpath.
2003-06-11 Michael Koch <konqueror@gmx.de> * java/net/DatagramSocket.java: Partly merged with classpath. From-SVN: r67755
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/net/DatagramSocket.java25
1 files changed, 21 insertions, 4 deletions
diff --git a/libjava/java/net/DatagramSocket.java b/libjava/java/net/DatagramSocket.java
index e21ea44..57f3da7 100644
--- a/libjava/java/net/DatagramSocket.java
+++ b/libjava/java/net/DatagramSocket.java
@@ -174,11 +174,28 @@ public class DatagramSocket
}
impl.create();
-
- impl.bind(port, laddr == null ? InetAddress.ANY_IF : laddr);
+ if (laddr == null)
+ laddr = InetAddress.ANY_IF;
- remoteAddress = null;
- remotePort = -1;
+ try
+ {
+ impl.bind (port, laddr);
+ }
+ catch (SocketException exception)
+ {
+ impl.close ();
+ throw exception;
+ }
+ catch (RuntimeException exception)
+ {
+ impl.close ();
+ throw exception;
+ }
+ catch (Error error)
+ {
+ impl.close ();
+ throw error;
+ }
}
/**