diff options
Diffstat (limited to 'libjava/gnu/java')
-rw-r--r-- | libjava/gnu/java/nio/FileLockImpl.java | 18 | ||||
-rw-r--r-- | libjava/gnu/java/nio/natFileLockImpl.cc | 3 |
2 files changed, 15 insertions, 6 deletions
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java index f85d60ad67f..b621bd2a539 100644 --- a/libjava/gnu/java/nio/FileLockImpl.java +++ b/libjava/gnu/java/nio/FileLockImpl.java @@ -1,5 +1,5 @@ -/* FileChannelImpl.java -- - Copyright (C) 2002 Free Software Foundation, Inc. +/* FileLockImpl.java -- + Copyright (C) 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -60,14 +60,24 @@ public class FileLockImpl extends FileLock } private FileDescriptor fd; - private boolean released; public FileLockImpl (FileDescriptor fd, FileChannel channel, long position, long size, boolean shared) { super (channel, position, size, shared); this.fd = fd; - this.released = false; + } + + public void finalize() + { + try + { + release(); + } + catch (IOException e) + { + // Ignore this. + } } public boolean isValid () diff --git a/libjava/gnu/java/nio/natFileLockImpl.cc b/libjava/gnu/java/nio/natFileLockImpl.cc index 19a3b83fde7..d3d01a12df3 100644 --- a/libjava/gnu/java/nio/natFileLockImpl.cc +++ b/libjava/gnu/java/nio/natFileLockImpl.cc @@ -20,6 +20,5 @@ details. */ void gnu::java::nio::FileLockImpl::releaseImpl () { - throw new ::java::io::IOException - (JvNewStringUTF ("releaseImpl not implemented")); + fd->unlock(position(), size()); } |