diff options
author | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-14 23:12:35 +0000 |
---|---|---|
committer | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-08-14 23:12:35 +0000 |
commit | ffde862e033a0825e1e9972a89c0f1f80b261a8e (patch) | |
tree | 97037d2c09c8384d80531f67ec36a01205df6bdb /libjava/classpath/java/nio | |
parent | b415ff10527e977c3758234fd930e2c027bfa17d (diff) | |
download | ppe42-gcc-ffde862e033a0825e1e9972a89c0f1f80b261a8e.tar.gz ppe42-gcc-ffde862e033a0825e1e9972a89c0f1f80b261a8e.zip |
2006-08-14 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.92
* HACKING: Add more importing hints. Update automake version
requirement.
* configure.ac (gconf-peer): New enable AC argument.
Add --disable-gconf-peer and --enable-default-preferences-peer
to classpath configure when gconf is disabled.
* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
gnu/java/awt/dnd/peer/gtk to bc. Classify
gnu/java/security/Configuration.java as generated source file.
* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
gnu/java/lang/management/VMThreadMXBeanImpl.java,
gnu/java/lang/management/VMMemoryMXBeanImpl.java,
gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
classes.
* java/lang/management/VMManagementFactory.java: Likewise.
* java/net/VMURLConnection.java: Likewise.
* gnu/java/nio/VMChannel.java: Likewise.
* java/lang/Thread.java (getState): Add stub implementation.
* java/lang/Class.java (isEnum): Likewise.
* java/lang/Class.h (isEnum): Likewise.
* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.
* javax/naming/spi/NamingManager.java: New override for StackWalker
functionality.
* configure, sources.am, Makefile.in, gcj/Makefile.in,
include/Makefile.in, testsuite/Makefile.in: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116139 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/java/nio')
5 files changed, 14 insertions, 25 deletions
diff --git a/libjava/classpath/java/nio/CharBuffer.java b/libjava/classpath/java/nio/CharBuffer.java index 6551555e20b..356a920eea0 100644 --- a/libjava/classpath/java/nio/CharBuffer.java +++ b/libjava/classpath/java/nio/CharBuffer.java @@ -107,14 +107,12 @@ public abstract class CharBuffer extends Buffer { // FIXME: implement better handling of java.lang.String. // Probably share data with String via reflection. - - if ((start < 0) - || (start > seq.length()) - || (end < start) - || (end > (seq.length() - start))) - throw new IndexOutOfBoundsException(); - + int len = end - start; + + if( len < 0 ) + throw new IndexOutOfBoundsException(); + char[] buffer = new char[len]; for (int i = 0; i < len; i++) diff --git a/libjava/classpath/java/nio/DirectByteBufferImpl.java b/libjava/classpath/java/nio/DirectByteBufferImpl.java index 53bb668aacf..3a9036f3148 100644 --- a/libjava/classpath/java/nio/DirectByteBufferImpl.java +++ b/libjava/classpath/java/nio/DirectByteBufferImpl.java @@ -232,6 +232,7 @@ abstract class DirectByteBufferImpl extends ByteBuffer private ByteBuffer duplicate(boolean readOnly) { int pos = position(); + if (this.mark != -1) reset(); int mark = position(); position(pos); diff --git a/libjava/classpath/java/nio/channels/FileChannel.java b/libjava/classpath/java/nio/channels/FileChannel.java index 0eefffbe97b..3aa19990917 100644 --- a/libjava/classpath/java/nio/channels/FileChannel.java +++ b/libjava/classpath/java/nio/channels/FileChannel.java @@ -114,12 +114,7 @@ public abstract class FileChannel extends AbstractInterruptibleChannel */ public final long write(ByteBuffer[] srcs) throws IOException { - long result = 0; - - for (int i = 0; i < srcs.length; i++) - result += write(srcs[i]); - - return result; + return write(srcs, 0, srcs.length); } /** @@ -169,12 +164,7 @@ public abstract class FileChannel extends AbstractInterruptibleChannel */ public final long read(ByteBuffer[] dsts) throws IOException { - long result = 0; - - for (int i = 0; i < dsts.length; i++) - read(dsts[i]); - - return result; + return read(dsts, 0, dsts.length); } /** diff --git a/libjava/classpath/java/nio/channels/SelectionKey.java b/libjava/classpath/java/nio/channels/SelectionKey.java index 5219b6bff84..9723faf5262 100644 --- a/libjava/classpath/java/nio/channels/SelectionKey.java +++ b/libjava/classpath/java/nio/channels/SelectionKey.java @@ -1,5 +1,5 @@ /* SelectionKey.java -- - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -60,7 +60,7 @@ public abstract class SelectionKey /** * Attaches obj to the key and returns the old attached object. */ - public final Object attach(Object obj) + public final synchronized Object attach(Object obj) { Object old = attached; attached = obj; @@ -70,7 +70,7 @@ public abstract class SelectionKey /** * Returns the object attached to the key. */ - public final Object attachment() + public final synchronized Object attachment() { return attached; } diff --git a/libjava/classpath/java/nio/channels/spi/AbstractSelectionKey.java b/libjava/classpath/java/nio/channels/spi/AbstractSelectionKey.java index 5ab8468bf2e..02d09ce10ad 100644 --- a/libjava/classpath/java/nio/channels/spi/AbstractSelectionKey.java +++ b/libjava/classpath/java/nio/channels/spi/AbstractSelectionKey.java @@ -1,5 +1,5 @@ /* AbstractSelectionKey.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -57,7 +57,7 @@ public abstract class AbstractSelectionKey extends SelectionKey /** * Cancels this key. */ - public final void cancel() + public final synchronized void cancel() { if (isValid()) { @@ -71,7 +71,7 @@ public abstract class AbstractSelectionKey extends SelectionKey * * @return true if this key is valid, false otherwise */ - public final boolean isValid() + public final synchronized boolean isValid() { return ! cancelled; } |