diff options
author | Mohan Embar <gnustuff@thisiscool.com> | 2004-01-30 13:43:21 +0000 |
---|---|---|
committer | Mohan Embar <membar@gcc.gnu.org> | 2004-01-30 13:43:21 +0000 |
commit | 7dcc98e25c7da0f7eeef93d77d0ead2e5814b019 (patch) | |
tree | 49b741adeec23a17d6a07df2869147de34f24174 /libjava/java/nio | |
parent | d1615643e511bab93bdf275303aab9468505bc79 (diff) | |
download | gcc-7dcc98e25c7da0f7eeef93d77d0ead2e5814b019.zip gcc-7dcc98e25c7da0f7eeef93d77d0ead2e5814b019.tar.gz gcc-7dcc98e25c7da0f7eeef93d77d0ead2e5814b019.tar.bz2 |
* gnu/java/net/PlainSocketImpl.java
(inChannelOperation): New field.
(isInChannelOperation): New accessor.
(setInChannelOperation): New modifier.
* gnu/java/nio/ServerSocketChannelImpl.java
(accept): Set and reset our server socket's PlainSocketImpl's
"in channel operation" indicator before and after delegating
the accept to our server socket.
* gnu/java/nio/SocketChannelImpl.java
(connect): Set and reset our socket's PlainSocketImpl's "in channel
operation" indicator before and after delegating the operation to
our socket.
(read): Likewise.
(write): Likewise.
* java/net/ServerSocket.java (implAccept): Don't throw an
IllegalBlockingModeException if we have a non-blocking
channel which initiated this accept operation.
* java/net/Socket.java (connect): Don't throw an
IllegalBlockingModeException if we have a non-blocking
channel which initiated this connect operation.
* java/nio/channels/spi/AbstractSelectableChannel.java
(configureBlocking): Only call implConfigureBlocking() if
the desired blocking mode is different from our current one.
From-SVN: r76956
Diffstat (limited to 'libjava/java/nio')
-rw-r--r-- | libjava/java/nio/channels/spi/AbstractSelectableChannel.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java index 17d6a2e..76c6c2b 100644 --- a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java +++ b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java @@ -1,5 +1,5 @@ /* AbstractSelectableChannel.java - Copyright (C) 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -80,8 +80,11 @@ public abstract class AbstractSelectableChannel extends SelectableChannel { synchronized (blockingLock()) { - implConfigureBlocking(blocking); - this.blocking = blocking; + if (this.blocking != blocking) + { + implConfigureBlocking(blocking); + this.blocking = blocking; + } } return this; |