mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-02 16:23:56 +08:00
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
This commit is contained in:
parent
bc7ac0d88b
commit
6cbaf0385b
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
jint* tmpFDArray = elements (fdArray);
|
||||
|
||||
java_fds = elements (java_fd_array);
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user