aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2004-02-26 19:45:51 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2004-02-26 19:45:51 +0000
commitf57db409bc0a3da9ec6e59ce72681612f7fe74ae (patch)
tree566784ef027ee453be4ea8900e4de4c2bd1167bb /libjava/java
parent135d78c60003ce8be95b69199c95c2abf755072c (diff)
downloadgcc-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.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
{