summaryrefslogtreecommitdiffstats
path: root/libjava/java
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-02 13:50:04 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-02 13:50:04 +0000
commitbcf934a726f09b909edaefea311bbb71e1745e81 (patch)
tree2ae3db7de7caf56b5219765da4466addb984cb74 /libjava/java
parentc3dac771e2ccc6784c72c68c3b9ace0a218dbefe (diff)
downloadppe42-gcc-bcf934a726f09b909edaefea311bbb71e1745e81.tar.gz
ppe42-gcc-bcf934a726f09b909edaefea311bbb71e1745e81.zip
2003-03-02 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java (closed): New member variable. (close): Use closed variable. (getInetAddress): No need to call isConnected(). (getPort): No need to call isConnected(). (disconnect): Reset remoteAddress and remotePort, fixed typo. (isClosed): Reimplemented. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63662 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/net/DatagramSocket.java34
1 files changed, 19 insertions, 15 deletions
diff --git a/libjava/java/net/DatagramSocket.java b/libjava/java/net/DatagramSocket.java
index 334083a6f35..091ebf98d1a 100644
--- a/libjava/java/net/DatagramSocket.java
+++ b/libjava/java/net/DatagramSocket.java
@@ -89,6 +89,11 @@ public class DatagramSocket
private int remotePort = -1;
/**
+ * Indicates when the socket is closed.
+ */
+ private boolean closed = false;
+
+ /**
* Creates a DatagramSocket from a specified DatagramSocketImpl instance
*
* @param impl The DatagramSocketImpl the socket will be created from
@@ -201,9 +206,13 @@ public class DatagramSocket
*/
public void close()
{
- impl.close();
- remoteAddress = null;
- remotePort = -1;
+ if (!closed)
+ {
+ impl.close();
+ remoteAddress = null;
+ remotePort = -1;
+ closed = true;
+ }
}
/**
@@ -217,9 +226,6 @@ public class DatagramSocket
*/
public InetAddress getInetAddress()
{
- if (!isConnected ())
- return null;
-
return remoteAddress;
}
@@ -234,9 +240,6 @@ public class DatagramSocket
*/
public int getPort()
{
- if (!isConnected ())
- return -1;
-
return remotePort;
}
@@ -265,7 +268,7 @@ public class DatagramSocket
// s.checkConnect("localhost", -1);
try
{
- return (InetAddress)impl.getOption(SocketOptions.SO_BINDADDR);
+ return (InetAddress)impl.getOption(SocketOptions.SO_BINDADDR);
}
catch (SocketException ex)
{
@@ -273,12 +276,11 @@ public class DatagramSocket
try
{
- return InetAddress.getLocalHost();
+ return InetAddress.getLocalHost();
}
catch (UnknownHostException ex)
{
- // FIXME: This should never happen, so how can we avoid this construct?
- return null;
+ return null;
}
}
@@ -469,7 +471,7 @@ public class DatagramSocket
/**
* This method disconnects this socket from the address/port it was
- * conencted to. If the socket was not connected in the first place,
+ * connected to. If the socket was not connected in the first place,
* this method does nothing.
*
* @since 1.2
@@ -477,6 +479,8 @@ public class DatagramSocket
public void disconnect()
{
impl.disconnect();
+ remoteAddress = null;
+ remotePort = -1;
}
/**
@@ -596,7 +600,7 @@ public class DatagramSocket
*/
public boolean isClosed()
{
- return !impl.getFileDescriptor().valid();
+ return closed;
}
/**
OpenPOWER on IntegriCloud