+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
{
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.
public abstract class AbstractSelectableChannel extends SelectableChannel
{
- private int registered;
private boolean blocking = true;
private Object LOCK = new Object();
private SelectorProvider provider;
*/
public final SelectionKey keyFor(Selector selector)
{
+ if (! isOpen())
+ return null;
+
try
{
- return register (selector, 0, null);
+ synchronized(blockingLock())
+ {
+ return locate (selector);
+ }
}
catch (Exception e)
{
if (key != null)
{
- key.attach (att);
+ if (att != null)
+ key.attach (att);
}
else
{