diff options
author | Michael Koch <konqueror@gmx.de> | 2004-02-26 19:45:51 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2004-02-26 19:45:51 +0000 |
commit | f57db409bc0a3da9ec6e59ce72681612f7fe74ae (patch) | |
tree | 566784ef027ee453be4ea8900e4de4c2bd1167bb /libjava/java | |
parent | 135d78c60003ce8be95b69199c95c2abf755072c (diff) | |
download | gcc-f57db409bc0a3da9ec6e59ce72681612f7fe74ae.zip gcc-f57db409bc0a3da9ec6e59ce72681612f7fe74ae.tar.gz gcc-f57db409bc0a3da9ec6e59ce72681612f7fe74ae.tar.bz2 |
2004-02-26 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileLockImpl.java
(finalize): Made protected.
* java/nio/channels/FileChannel.java
(MapMode.READ_ONLY): Made final.
(MapMode.READ_WRITE): Made final.
(MapMode.PRIVATE): Made final.
* java/nio/channels/SocketChannel.java
(open): Simplified code.
* java/nio/channels/spi/AbstractSelectableChannel.java
(registered): Unused, removed.
(keyFor): Check channel is open, only locate key
and not add a new one.
(register): Don't delete attachments.
From-SVN: r78519
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/nio/channels/FileChannel.java | 6 | ||||
-rw-r--r-- | libjava/java/nio/channels/SocketChannel.java | 6 | ||||
-rw-r--r-- | libjava/java/nio/channels/spi/AbstractSelectableChannel.java | 12 |
3 files changed, 13 insertions, 11 deletions
diff --git a/libjava/java/nio/channels/FileChannel.java b/libjava/java/nio/channels/FileChannel.java index 9def463..6604e99 100644 --- a/libjava/java/nio/channels/FileChannel.java +++ b/libjava/java/nio/channels/FileChannel.java @@ -53,9 +53,9 @@ public abstract class FileChannel extends AbstractInterruptibleChannel { int m; - public static MapMode READ_ONLY = new MapMode(0); - public static MapMode READ_WRITE = new MapMode(1); - public static MapMode PRIVATE = new MapMode(2); + public static final MapMode READ_ONLY = new MapMode(0); + public static final MapMode READ_WRITE = new MapMode(1); + public static final MapMode PRIVATE = new MapMode(2); /** * Initializes the MapMode. diff --git a/libjava/java/nio/channels/SocketChannel.java b/libjava/java/nio/channels/SocketChannel.java index c22eb1d..93633002 100644 --- a/libjava/java/nio/channels/SocketChannel.java +++ b/libjava/java/nio/channels/SocketChannel.java @@ -87,11 +87,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel public static SocketChannel open (SocketAddress remote) throws IOException { SocketChannel ch = open (); - - if (ch.connect (remote)) - { - } - + ch.connect(remote); return ch; } diff --git a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java index 76c6c2b..0a872bc 100644 --- a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java +++ b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java @@ -48,7 +48,6 @@ import java.util.ListIterator; public abstract class AbstractSelectableChannel extends SelectableChannel { - private int registered; private boolean blocking = true; private Object LOCK = new Object(); private SelectorProvider provider; @@ -135,9 +134,15 @@ public abstract class AbstractSelectableChannel extends SelectableChannel */ public final SelectionKey keyFor(Selector selector) { + if (! isOpen()) + return null; + try { - return register (selector, 0, null); + synchronized(blockingLock()) + { + return locate (selector); + } } catch (Exception e) { @@ -196,7 +201,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel if (key != null) { - key.attach (att); + if (att != null) + key.attach (att); } else { |