aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog8
-rw-r--r--libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java11
2 files changed, 15 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 690a4f7..409bf3b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,13 @@
2003-12-02 Michael Koch <konqueror@gmx.de>
+ * java/nio/channels/spi/AbstractInterruptibleChannel.java
+ (opened): Removed.
+ (closed): New field.
+ (close): Check of channel is closed already.
+ (isOpen): Return !closed.
+
+2003-12-02 Michael Koch <konqueror@gmx.de>
+
* gnu/java/nio/DatagramChannelImpl.java
(blocking): Initialize with true by default.
* gnu/java/nio/ServerSocketChannelImpl.java
diff --git a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java
index dd4177a..0cf798e 100644
--- a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java
+++ b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java
@@ -49,7 +49,7 @@ import java.nio.channels.InterruptibleChannel;
public abstract class AbstractInterruptibleChannel
implements Channel, InterruptibleChannel
{
- boolean opened = true;
+ private boolean closed;
/**
* Initializes the channel.
@@ -72,8 +72,11 @@ public abstract class AbstractInterruptibleChannel
*/
public final void close () throws IOException
{
- opened = false;
- implCloseChannel ();
+ if (!closed)
+ {
+ implCloseChannel();
+ closed = true;
+ }
}
/**
@@ -101,6 +104,6 @@ public abstract class AbstractInterruptibleChannel
*/
public final boolean isOpen ()
{
- return opened;
+ return !closed;
}
}