diff options
author | Michael Koch <konqueror@gmx.de> | 2003-09-25 15:35:21 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-09-25 15:35:21 +0000 |
commit | 6cbaf0385b0bc1ccb27362a569ad668460c2ed2d (patch) | |
tree | 91b112227de2473bd988da306c97292f4e5e6325 /libjava | |
parent | bc7ac0d88b1a48c25af598f636de44cd60e5aa1a (diff) | |
download | gcc-6cbaf0385b0bc1ccb27362a569ad668460c2ed2d.zip gcc-6cbaf0385b0bc1ccb27362a569ad668460c2ed2d.tar.gz gcc-6cbaf0385b0bc1ccb27362a569ad668460c2ed2d.tar.bz2 |
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.
From-SVN: r71779
Diffstat (limited to 'libjava')
-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 9e33fe8..48b2145 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 a906641..b2c2d87 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 d718582..208aa05 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 |