From c75d2847fb297e714ce596b2a5bdb59fb3b1bb11 Mon Sep 17 00:00:00 2001 From: mkoch Date: Fri, 23 Jan 2004 14:37:09 +0000 Subject: 2004-01-23 Michael Koch * gnu/java/nio/FileLockImpl.java: Fixed filename in copyright. (released): Removed. (finalize): New method. * gnu/java/nio/natFileLockImpl.cc (releaseImpl): Implemented. * java/nio/channels/FileChannelImpl.java: Reworked imports. (lock): Implemented. (lockImpl): New method. (tryLock): Implemented. (tryLockImpl): New method. * java/nio/channels/natFileChannelImpl.cc (lockImpl): New method. (tryLockImpl): New method. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76422 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/java/nio/FileLockImpl.java | 18 ++++++++++++++---- libjava/gnu/java/nio/natFileLockImpl.cc | 3 +-- 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'libjava/gnu/java') 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()); } -- cgit v1.2.3