+2003-09-25 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/SelectorImpl.java
+ (implSelect): Renamed from java_do_select.
+ (select): Call native implSelect() and add support for Thread
+ interruption.
+ * gnu/java/nio/natSelectorImpl.cc
+ (implSelect): Renamed from java_do_select.
+
2003-09-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java
}
// A timeout value of -1 means block forever.
- private static native int java_do_select (int[] read, int[] write,
- int[] except, long timeout);
+ private static native int implSelect (int[] read, int[] write,
+ int[] except, long timeout);
private final int[] getFDsAsArray (int ops)
{
return 0;
}
- int ret = 0;
-
deregisterCancelledKeys();
// Set only keys with the needed interest ops into the arrays.
int[] read = getFDsAsArray (SelectionKey.OP_READ | SelectionKey.OP_ACCEPT);
int[] write = getFDsAsArray (SelectionKey.OP_WRITE | SelectionKey.OP_CONNECT);
int[] except = new int [0]; // FIXME: We dont need to check this yet
-
- // Call the native select () on all file descriptors.
int anzahl = read.length + write.length + except.length;
- ret = java_do_select (read, write, except, timeout);
+
+ // Call the native select() on all file descriptors.
+ begin();
+ int result = implSelect (read, write, except, timeout);
+ end();
Iterator it = keys.iterator ();
}
deregisterCancelledKeys();
- return ret;
+ return result;
}
public final Set selectedKeys()
}
jint
-gnu::java::nio::SelectorImpl::java_do_select (jintArray read, jintArray write,
- jintArray except, jlong timeout)
+gnu::java::nio::SelectorImpl::implSelect (jintArray read, jintArray write,
+ jintArray except, jlong timeout)
{
jint result;
int max_fd = 0;