aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/net/DatagramSocket.java25
2 files changed, 26 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 388dd00..845bfbe 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,10 @@
2003-06-11 Michael Koch <konqueror@gmx.de>
+ * java/net/DatagramSocket.java:
+ Partly merged with classpath.
+
+2003-06-11 Michael Koch <konqueror@gmx.de>
+
* java/awt/Frame.java,
java/awt/Graphics.java,
java/awt/Menu.java,
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;
+ }
}
/**