FileLockImpl.java (fd): Remove field, replacing it by:

* gnu/java/nio/FileLockImpl.java (fd):  Remove field, replacing it by:
	(ch):  New FileChannelImpl field.  Update constructor to match.
	(releaseImpl):  Remove native method.  Instead ...
	(release):  Call unlock on channel.
	* gnu/java/nio/natFileLockImpl.cc:  Removed file.

From-SVN: r78663
This commit is contained in:
Per Bothner 2004-02-29 11:13:45 -08:00
parent d199feb748
commit 3ae1e52c91
2 changed files with 6 additions and 32 deletions

View File

@ -40,9 +40,9 @@ package gnu.java.nio;
import java.io.FileDescriptor;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.nio.channels.*;
import gnu.classpath.Configuration;
import gnu.java.nio.channels.FileChannelImpl;
/**
* @author Michael Koch
@ -59,13 +59,13 @@ public class FileLockImpl extends FileLock
}
}
private FileDescriptor fd;
private FileChannelImpl ch;
public FileLockImpl (FileDescriptor fd, FileChannel channel, long position,
public FileLockImpl (FileChannelImpl channel, long position,
long size, boolean shared)
{
super (channel, position, size, shared);
this.fd = fd;
ch = channel;
}
protected void finalize()
@ -85,10 +85,8 @@ public class FileLockImpl extends FileLock
return !channel().isOpen();
}
private native void releaseImpl () throws IOException;
public synchronized void release () throws IOException
{
releaseImpl ();
ch.unlock(position(), size());
}
}

View File

@ -1,24 +0,0 @@
// natFileLockImpl.cc
/* Copyright (C) 2003 Free Software Foundation
This file is part of libgcj.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
#include <jvm.h>
#include <errno.h>
#include <gnu/java/nio/FileLockImpl.h>
#include <java/io/FileDescriptor.h>
#include <java/io/IOException.h>
void
gnu::java::nio::FileLockImpl::releaseImpl ()
{
fd->unlock(position(), size());
}