OSDN Git Service

2003-09-25 Michael Koch <konqueror@gmx.de>
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Sep 2003 15:35:21 +0000 (15:35 +0000)
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 25 Sep 2003 15:35:21 +0000 (15:35 +0000)
* 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

libjava/ChangeLog
libjava/gnu/java/nio/SelectorImpl.java
libjava/gnu/java/nio/natSelectorImpl.cc

index 9e33fe8..48b2145 100644 (file)
@@ -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
index a906641..b2c2d87 100644 (file)
@@ -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;
index d718582..208aa05 100644 (file)
@@ -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