2005-05-03 Andrew Overholt * 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. Index: gnu/java/nio/channels/FileChannelImpl.java =================================================================== RCS file: /cvsroot/gcc/gcc/libjava/gnu/java/nio/channels/FileChannelImpl.java,v retrieving revision 1.10 diff -u -p -r1.10 FileChannelImpl.java --- gnu/java/nio/channels/FileChannelImpl.java 29 Apr 2005 18:47:41 -0000 1.10 +++ gnu/java/nio/channels/FileChannelImpl.java 3 May 2005 21:40:35 -0000 @@ -437,9 +437,11 @@ public final class FileChannelImpl exten 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 { Index: java/nio/channels/FileLock.java =================================================================== RCS file: /cvsroot/gcc/gcc/libjava/java/nio/channels/FileLock.java,v retrieving revision 1.4 diff -u -p -r1.4 FileLock.java --- java/nio/channels/FileLock.java 20 Apr 2004 15:27:37 -0000 1.4 +++ java/nio/channels/FileLock.java 3 May 2005 21:40:35 -0000 @@ -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; } }