aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/net/Socket.java
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-01-11 01:17:19 +0000
committerTom Tromey <tromey@gcc.gnu.org>2003-01-11 01:17:19 +0000
commit927818a5984c6fe521cd8e6c9a11c7f3599a87a5 (patch)
tree52d5c61480de7bafcb2350a66e100dff889e5727 /libjava/java/net/Socket.java
parentb1771c6ac2f7917c10a8c47c61201f88e63eb2bb (diff)
downloadgcc-927818a5984c6fe521cd8e6c9a11c7f3599a87a5.zip
gcc-927818a5984c6fe521cd8e6c9a11c7f3599a87a5.tar.gz
gcc-927818a5984c6fe521cd8e6c9a11c7f3599a87a5.tar.bz2
2003-01-10 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java (ch): Description added. (remotePort): Initialize with -1. (connect): Doesnt throws SocketException. * java/net/MulticastSocket.java (setInterface): Merge with Classpath. * java/net/ServerSocket.java (closed): New member variable. (bind): Check if socket is closed. (close): Close an associated channel too, set new value to closed. (isBound): Reindented. (isClosed): Implemented. * java/net/Socket.java (closed): New member variable. (bind): Check if socket is closed. (connect): Check if socket is closed. (close): Close an associated channel too, set new value to closed. (isClosed): Implemented. From-SVN: r61185
Diffstat (limited to 'libjava/java/net/Socket.java')
-rw-r--r--libjava/java/net/Socket.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java
index 592f39a..e57c1ed 100644
--- a/libjava/java/net/Socket.java
+++ b/libjava/java/net/Socket.java
@@ -85,6 +85,8 @@ public class Socket
SocketChannel ch; // this field must have been set if created by SocketChannel
+ private boolean closed = false;
+
// Constructors
/**
@@ -308,6 +310,9 @@ public class Socket
*/
public void bind (SocketAddress bindpoint) throws IOException
{
+ if (closed)
+ throw new SocketException ("Socket is closed");
+
if ( !(bindpoint instanceof InetSocketAddress))
throw new IllegalArgumentException ();
@@ -330,6 +335,9 @@ public class Socket
public void connect (SocketAddress endpoint)
throws IOException
{
+ if (closed)
+ throw new SocketException ("Socket is closed");
+
if (! (endpoint instanceof InetSocketAddress))
throw new IllegalArgumentException ("Address type not supported");
@@ -357,6 +365,9 @@ public class Socket
public void connect (SocketAddress endpoint, int timeout)
throws IOException
{
+ if (closed)
+ throw new SocketException ("Socket is closed");
+
if (! (endpoint instanceof InetSocketAddress))
throw new IllegalArgumentException ("Address type not supported");
@@ -853,6 +864,11 @@ public class Socket
{
if (impl != null)
impl.close();
+
+ if (ch != null)
+ ch.close();
+
+ closed = true;
}
/**
@@ -1035,8 +1051,7 @@ public class Socket
*/
public boolean isClosed ()
{
- // FIXME: implement this.
- return false;
+ return closed;
}
/**