From: Michael Koch Date: Wed, 26 Nov 2003 14:50:27 +0000 (+0000) Subject: 2003-11-26 Michael Koch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dddfde5fc33619e2788b4264812d68bbcfd0f82a;p=gcc.git 2003-11-26 Michael Koch * java/net/DatagramSocket.java (DategramSocket, bind): Moved binding code from DatagramSocket constructor to bind method. From-SVN: r73952 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 9d13b76945a..570890540ae 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2003-11-26 Michael Koch + + * java/net/DatagramSocket.java + (DategramSocket, bind): Moved binding code from DatagramSocket + constructor to bind method. + 2003-11-26 Michael Koch * java/net/DatagramSocket.java diff --git a/libjava/java/net/DatagramSocket.java b/libjava/java/net/DatagramSocket.java index df397bf7c61..f4bc4ea79d5 100644 --- a/libjava/java/net/DatagramSocket.java +++ b/libjava/java/net/DatagramSocket.java @@ -187,44 +187,8 @@ public class DatagramSocket impl = new PlainDatagramSocketImpl(); } - if (address == null) - return; - - if (! (address instanceof InetSocketAddress)) - throw new SocketException("unsupported address type"); - - InetAddress addr = ((InetSocketAddress) address).getAddress(); - int port = ((InetSocketAddress) address).getPort(); - - if (port < 0 || port > 65535) - throw new IllegalArgumentException("Invalid port: " + port); - - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkListen(port); - - if (addr == null) - addr = InetAddress.ANY_IF; - - try - { - getImpl().bind(port, addr); - } - catch (SocketException exception) - { - getImpl().close(); - throw exception; - } - catch (RuntimeException exception) - { - getImpl().close(); - throw exception; - } - catch (Error error) - { - getImpl().close(); - throw error; - } + if (address != null) + bind(address); } // This needs to be accessible from java.net.MulticastSocket @@ -671,14 +635,39 @@ public class DatagramSocket if (! (address instanceof InetSocketAddress)) throw new IllegalArgumentException("unsupported address type"); - InetSocketAddress tmp = (InetSocketAddress) address; + InetAddress addr = ((InetSocketAddress) address).getAddress(); + int port = ((InetSocketAddress) address).getPort(); + + if (port < 0 || port > 65535) + throw new IllegalArgumentException("Invalid port: " + port); SecurityManager s = System.getSecurityManager (); if (s != null) - s.checkListen(tmp.getPort ()); + s.checkListen(port); - getImpl().bind (tmp.getPort (), tmp.getAddress ()); - bound = true; + if (addr == null) + addr = InetAddress.ANY_IF; + + try + { + getImpl().bind(port, addr); + bound = true; + } + catch (SocketException exception) + { + getImpl().close(); + throw exception; + } + catch (RuntimeException exception) + { + getImpl().close(); + throw exception; + } + catch (Error error) + { + getImpl().close(); + throw error; + } } /**