diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-03 22:38:17 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-03 22:38:17 +0000 |
| commit | a2295b1c5cfa37ba98570b051e631dd799d3ffc3 (patch) | |
| tree | d6cc1093a809e003aab0e160015f13e1f04bca5f /libjava | |
| parent | 0b25db2159a2082ba5b70c17bd8ca2800036e50c (diff) | |
| download | ppe42-gcc-a2295b1c5cfa37ba98570b051e631dd799d3ffc3.tar.gz ppe42-gcc-a2295b1c5cfa37ba98570b051e631dd799d3ffc3.zip | |
2005-05-03 Andrew Overholt <overholt@redhat.com>
PR libgcj/21372:
* gnu/java/nio/channels/FileChannelImpl.java: Return null if lock
could not be acquired.
* java/nio/channels/FileLock.java (toString): Re-implement to be
in line with other implementations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99188 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
| -rw-r--r-- | libjava/ChangeLog | 8 | ||||
| -rw-r--r-- | libjava/gnu/java/nio/channels/FileChannelImpl.java | 6 | ||||
| -rw-r--r-- | libjava/java/nio/channels/FileLock.java | 12 |
3 files changed, 23 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index dc025440acc..17a07fddfdd 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,11 @@ +2005-05-03 Andrew Overholt <overholt@redhat.com> + + PR libgcj/21372: + * gnu/java/nio/channels/FileChannelImpl.java: Return null if lock + could not be acquired. + * java/nio/channels/FileLock.java (toString): Re-implement to be + in line with other implementations. + 2005-05-03 Tom Tromey <tromey@redhat.com> * java/lang/VMSecurityManager.java (currentClassLoader): Use diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.java b/libjava/gnu/java/nio/channels/FileChannelImpl.java index aaa4c260864..6893d817744 100644 --- a/libjava/gnu/java/nio/channels/FileChannelImpl.java +++ b/libjava/gnu/java/nio/channels/FileChannelImpl.java @@ -437,9 +437,11 @@ public final class FileChannelImpl extends FileChannel try { begin(); - lock(position, size, shared, false); + boolean lockable = lock(position, size, shared, false); completed = true; - return new FileLockImpl(this, position, size, shared); + return (lockable + ? new FileLockImpl(this, position, size, shared) + : null); } finally { diff --git a/libjava/java/nio/channels/FileLock.java b/libjava/java/nio/channels/FileLock.java index 629f5ef79ec..a4af08091bb 100644 --- a/libjava/java/nio/channels/FileLock.java +++ b/libjava/java/nio/channels/FileLock.java @@ -132,6 +132,16 @@ public abstract class FileLock */ public final String toString() { - return "file-lock:pos=" + position + "size=" + size; + String toReturn = getClass().getName() + + "[" + position + ":" + size; + if (shared) + toReturn += " shared"; + else + toReturn += " exclusive"; + if (isValid()) + toReturn += " valid]"; + else + toReturn += " invalid]"; + return toReturn; } } |

