summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog16
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.java2
-rw-r--r--libjava/java/nio/channels/FileChannel.java6
-rw-r--r--libjava/java/nio/channels/SocketChannel.java6
-rw-r--r--libjava/java/nio/channels/spi/AbstractSelectableChannel.java12
5 files changed, 30 insertions, 12 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 5984f37c9d2..7be2aebebb0 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,21 @@
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.
+
+2004-02-26 Michael Koch <konqueror@gmx.de>
+
* gnu/java/awt/ComponentDataBlitOp.java
(INSTANCE): Made final.
* gnu/java/awt/image/ImageDecoder.java:
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java
index 9384bf612c8..eff3320770f 100644
--- a/libjava/gnu/java/nio/FileLockImpl.java
+++ b/libjava/gnu/java/nio/FileLockImpl.java
@@ -68,7 +68,7 @@ public class FileLockImpl extends FileLock
this.fd = fd;
}
- public void finalize()
+ protected void finalize()
{
try
{
diff --git a/libjava/java/nio/channels/FileChannel.java b/libjava/java/nio/channels/FileChannel.java
index 9def4631652..6604e99744e 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 c22eb1d1945..93633002e51 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 76c6c2b899f..0a872bc7bc8 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
{