diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 690a4f7b0467..409bf3b87455 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2003-12-02 Michael Koch + + * 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 * gnu/java/nio/DatagramChannelImpl.java diff --git a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java index dd4177a8a012..0cf798eaf572 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; } }