diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-25 15:35:21 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-25 15:35:21 +0000 |
commit | d66e4477a4ef806d7e24ce7b9a94c1ad0557080b (patch) | |
tree | 91b112227de2473bd988da306c97292f4e5e6325 | |
parent | b6631c76074cafa0c492db90d97ee17dd4ed8be6 (diff) | |
download | gcc-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/ChangeLog | 17 | ||||
-rw-r--r-- | libjava/gnu/java/nio/SelectorImpl.java | 32 | ||||
-rw-r--r-- | libjava/gnu/java/nio/natSelectorImpl.cc | 61 |
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 |