summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-25 15:35:21 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-25 15:35:21 +0000
commitd66e4477a4ef806d7e24ce7b9a94c1ad0557080b (patch)
tree91b112227de2473bd988da306c97292f4e5e6325
parentb6631c76074cafa0c492db90d97ee17dd4ed8be6 (diff)
downloadgcc-d66e4477a4ef806d7e24ce7b9a94c1ad0557080b.tar.gz
2003-09-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java (selectNow): Made final, throws IOException. (select): Likewise. (getFDsAsArray): Made final. (selectedKeys): Likewise. (wakeup): Likewise. (deregisterCancelledKeys): Likewise. (register): Likewise. (ass): Removed. (add_selected): Removed. * gnu/java/nio/natSelectorImpl.cc: No need to include bstring.h or gcj/cni.h. (helper_put_filedescriptors): Rewritten. (helper_get_filedescriptors): Rewritten. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71779 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog17
-rw-r--r--libjava/gnu/java/nio/SelectorImpl.java32
-rw-r--r--libjava/gnu/java/nio/natSelectorImpl.cc61
3 files changed, 42 insertions, 68 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 9e33fe86512..48b2145d499 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,20 @@
+2003-09-25 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/SelectorImpl.java
+ (selectNow): Made final, throws IOException.
+ (select): Likewise.
+ (getFDsAsArray): Made final.
+ (selectedKeys): Likewise.
+ (wakeup): Likewise.
+ (deregisterCancelledKeys): Likewise.
+ (register): Likewise.
+ (ass): Removed.
+ (add_selected): Removed.
+ * gnu/java/nio/natSelectorImpl.cc:
+ No need to include bstring.h or gcj/cni.h.
+ (helper_put_filedescriptors): Rewritten.
+ (helper_get_filedescriptors): Rewritten.
+
2003-09-25 Sascha Brawer <brawer@dandelis.ch>
* java/awt/font/FontRenderContext.java (getTransform): Return
diff --git a/libjava/gnu/java/nio/SelectorImpl.java b/libjava/gnu/java/nio/SelectorImpl.java
index a906641ac75..b2c2d87c5a7 100644
--- a/libjava/gnu/java/nio/SelectorImpl.java
+++ b/libjava/gnu/java/nio/SelectorImpl.java
@@ -80,12 +80,14 @@ public class SelectorImpl extends AbstractSelector
return Collections.unmodifiableSet (keys);
}
- public int selectNow ()
+ public final int selectNow()
+ throws IOException
{
return select (1);
}
- public int select ()
+ public final int select()
+ throws IOException
{
return select (-1);
}
@@ -94,7 +96,7 @@ public class SelectorImpl extends AbstractSelector
private static native int java_do_select (int[] read, int[] write,
int[] except, long timeout);
- private int[] getFDsAsArray (int ops)
+ private final int[] getFDsAsArray (int ops)
{
int[] result;
int counter = 0;
@@ -206,7 +208,7 @@ public class SelectorImpl extends AbstractSelector
// If key is not yet selected add it.
if (!selected.contains (key))
{
- add_selected (key);
+ selected.add (key);
}
// Set new ready ops
@@ -217,27 +219,17 @@ public class SelectorImpl extends AbstractSelector
return ret;
}
- public Set selectedKeys ()
+ public final Set selectedKeys()
{
return selected;
}
- public Selector wakeup ()
+ public final Selector wakeup()
{
return null;
}
- public void add (SelectionKeyImpl k)
- {
- keys.add (k);
- }
-
- void add_selected (SelectionKeyImpl k)
- {
- selected.add (k);
- }
-
- private void deregisterCancelledKeys ()
+ private final void deregisterCancelledKeys()
{
Iterator it = cancelledKeys().iterator();
@@ -253,8 +245,8 @@ public class SelectorImpl extends AbstractSelector
return register ((AbstractSelectableChannel) ch, ops, att);
}
- protected SelectionKey register (AbstractSelectableChannel ch, int ops,
- Object att)
+ protected final SelectionKey register (AbstractSelectableChannel ch, int ops,
+ Object att)
{
SelectionKeyImpl result;
@@ -278,7 +270,7 @@ public class SelectorImpl extends AbstractSelector
throw new InternalError ("No known channel type");
}
- add (result);
+ keys.add (result);
result.interestOps (ops);
result.attach (att);
return result;
diff --git a/libjava/gnu/java/nio/natSelectorImpl.cc b/libjava/gnu/java/nio/natSelectorImpl.cc
index d7185828d59..208aa059508 100644
--- a/libjava/gnu/java/nio/natSelectorImpl.cc
+++ b/libjava/gnu/java/nio/natSelectorImpl.cc
@@ -1,6 +1,6 @@
// natSelectorImpl.cc
-/* Copyright (C) 2002 Free Software Foundation
+/* Copyright (C) 2002, 2003 Free Software Foundation
This file is part of libgcj.
@@ -14,66 +14,31 @@ details. */
#include <errno.h>
#include <string.h>
-#if HAVE_BSTRING_H
-// Needed for bzero, implicitly used by FD_ZERO on IRIX 5.2
-#include <bstring.h>
-#endif
-
-//#include <gcj/cni.h>
#include <gnu/java/nio/SelectorImpl.h>
#include <java/io/IOException.h>
void
-helper_put_filedescriptors (jintArray java_fd_array, fd_set& fds, int& max_fd)
+helper_put_filedescriptors (jintArray fdArray, fd_set& fds, int& max_fd)
{
- int counter;
- jint* java_fds;
-
- java_fds = elements (java_fd_array);
+ jint* tmpFDArray = elements (fdArray);
- for (counter = 0; counter < JvGetArrayLength (java_fd_array); counter++)
+ for (int index = 0; index < JvGetArrayLength (fdArray); index++)
{
- FD_SET (java_fds [counter], &fds);
+ FD_SET (tmpFDArray [index], &fds);
- if (java_fds [counter] > max_fd)
- {
- max_fd = java_fds [counter];
- }
+ if (tmpFDArray [index] > max_fd)
+ max_fd = tmpFDArray [index];
}
}
void
-helper_get_filedescriptors (jintArray& java_fd_array, fd_set fds)
+helper_get_filedescriptors (jintArray& fdArray, fd_set fds)
{
- int counter;
- int counter_fds;
- jint* java_fds;
- jintArray new_array_fds;
- jint* new_data_fds;
-
- counter_fds = 0;
- java_fds = elements (java_fd_array);
-
- for (counter = 0; counter < JvGetArrayLength (java_fd_array); counter++)
- {
- if (FD_ISSET (java_fds[counter], &fds))
- {
- counter_fds++;
- }
- }
-
- new_array_fds = JvNewIntArray (counter_fds);
- new_data_fds = elements (new_array_fds);
-
- for (counter = 0; counter < JvGetArrayLength (java_fd_array); counter++)
- {
- if (FD_ISSET (java_fds[counter], &fds))
- {
- new_data_fds[counter] = java_fds[counter];
- }
- }
-
- java_fd_array = new_array_fds;
+ jint* tmpFDArray = elements (fdArray);
+
+ for (int index = 0; index < JvGetArrayLength (fdArray); index++)
+ if (!FD_ISSET (tmpFDArray [index], &fds))
+ tmpFDArray [index] = 0;
}
jint