summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/gnu/java
diff options
context:
space:
mode:
authorgreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-28 17:46:21 +0000
committergreen <green@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-28 17:46:21 +0000
commite175334c900392e2c65a5ce36dea8247f46f855f (patch)
tree15dd1635f8c865e018064a4aa8d7cfaa79c78f5e /libjava/classpath/gnu/java
parent328eb802880e7a7d81d9a413aa73a88f2b6eed60 (diff)
downloadppe42-gcc-e175334c900392e2c65a5ce36dea8247f46f855f.tar.gz
ppe42-gcc-e175334c900392e2c65a5ce36dea8247f46f855f.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109114 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/gnu/java')
-rw-r--r--libjava/classpath/gnu/java/nio/DatagramChannelImpl.java2
-rw-r--r--libjava/classpath/gnu/java/nio/SelectorImpl.java26
-rw-r--r--libjava/classpath/gnu/java/nio/SocketChannelImpl.java2
3 files changed, 15 insertions, 15 deletions
diff --git a/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java b/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java
index 51c7031fe69..4687bf3f59e 100644
--- a/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java
+++ b/libjava/classpath/gnu/java/nio/DatagramChannelImpl.java
@@ -201,7 +201,7 @@ public final class DatagramChannelImpl extends DatagramChannel
try
{
DatagramPacket packet;
- int len = dst.capacity() - dst.position();
+ int len = dst.remaining();
if (dst.hasArray())
{
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.
diff --git a/libjava/classpath/gnu/java/nio/SocketChannelImpl.java b/libjava/classpath/gnu/java/nio/SocketChannelImpl.java
index fcddbd6c351..680eba2f92b 100644
--- a/libjava/classpath/gnu/java/nio/SocketChannelImpl.java
+++ b/libjava/classpath/gnu/java/nio/SocketChannelImpl.java
@@ -220,7 +220,7 @@ public final class SocketChannelImpl extends SocketChannel
int offset = 0;
InputStream input = socket.getInputStream();
int available = input.available();
- int len = dst.capacity() - dst.position();
+ int len = dst.remaining();
if ((! isBlocking()) && available == 0)
return 0;
OpenPOWER on IntegriCloud