diff options
| author | Anthony Green <green@gcc.gnu.org> | 2005-12-28 17:46:21 +0000 |
|---|---|---|
| committer | Anthony Green <green@gcc.gnu.org> | 2005-12-28 17:46:21 +0000 |
| commit | 5c3bb9eb9ed5f92b376c048460d515416fad962b (patch) | |
| tree | 15dd1635f8c865e018064a4aa8d7cfaa79c78f5e /libjava/classpath/gnu/java/nio/SelectorImpl.java | |
| parent | 3779973b0b163d0323aa679f9ec81c8caae5c427 (diff) | |
[multiple changes]
2005-12-27 Tom Tromey <tromey@redhat.com>
* gnu/java/nio/SelectorImpl.java: Added import.
2005-12-26 Anthony Green <green@redhat.com>
* java/net/Socket.java (connect): Don't close the socket on
exceptions.
* gnu/java/nio/SocketChannelImpl.java (read): Compute the right amount
of data to read (dst.remaining()).
* gnu/java/nio/DatagramChannelImpl.java (receive): Ditto.
* gnu/java/nio/SelectorImpl.java (select): Handle OP_CONNECT
properly.
From-SVN: r109114
Diffstat (limited to 'libjava/classpath/gnu/java/nio/SelectorImpl.java')
| -rw-r--r-- | libjava/classpath/gnu/java/nio/SelectorImpl.java | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/libjava/classpath/gnu/java/nio/SelectorImpl.java b/libjava/classpath/gnu/java/nio/SelectorImpl.java index dcafedeb8bb..e10f7157443 100644 --- a/libjava/classpath/gnu/java/nio/SelectorImpl.java +++ b/libjava/classpath/gnu/java/nio/SelectorImpl.java @@ -43,6 +43,7 @@ import java.nio.channels.ClosedSelectorException; import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; +import java.nio.channels.SocketChannel; import java.nio.channels.spi.AbstractSelectableChannel; import java.nio.channels.spi.AbstractSelector; import java.nio.channels.spi.SelectorProvider; @@ -284,19 +285,18 @@ public class SelectorImpl extends AbstractSelector // Set new ready write ops for (int i = 0; i < write.length; i++) { - if (key.getNativeFD() == write[i]) - { - ops = ops | SelectionKey.OP_WRITE; - - // if (key.channel ().isConnected ()) - // { - // ops = ops | SelectionKey.OP_WRITE; - // } - // else - // { - // ops = ops | SelectionKey.OP_CONNECT; - // } - } + if (key.getNativeFD() == write[i]) + { + if (key.channel() instanceof SocketChannel) + { + if (((SocketChannel) key.channel ()).isConnected ()) + ops = ops | SelectionKey.OP_WRITE; + else + ops = ops | SelectionKey.OP_CONNECT; + } + else + ops = ops | SelectionKey.OP_WRITE; + } } // FIXME: We dont handle exceptional file descriptors yet. |
