Commit 3ae1e52c by Per Bothner

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
parent d199feb7
...@@ -40,9 +40,9 @@ package gnu.java.nio; ...@@ -40,9 +40,9 @@ package gnu.java.nio;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.IOException; import java.io.IOException;
import java.nio.channels.FileChannel; import java.nio.channels.*;
import java.nio.channels.FileLock;
import gnu.classpath.Configuration; import gnu.classpath.Configuration;
import gnu.java.nio.channels.FileChannelImpl;
/** /**
* @author Michael Koch * @author Michael Koch
...@@ -59,13 +59,13 @@ public class FileLockImpl extends FileLock ...@@ -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) long size, boolean shared)
{ {
super (channel, position, size, shared); super (channel, position, size, shared);
this.fd = fd; ch = channel;
} }
protected void finalize() protected void finalize()
...@@ -85,10 +85,8 @@ public class FileLockImpl extends FileLock ...@@ -85,10 +85,8 @@ public class FileLockImpl extends FileLock
return !channel().isOpen(); return !channel().isOpen();
} }
private native void releaseImpl () throws IOException;
public synchronized void release () throws IOException public synchronized void release () throws IOException
{ {
releaseImpl (); ch.unlock(position(), size());
} }
} }
// 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());
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment