aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java')
-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
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
{