From 3ae1e52c9197131a764d47f4b09fc44a91db3558 Mon Sep 17 00:00:00 2001
From: Per Bothner <bothner@gcc.gnu.org>
Date: Sun, 29 Feb 2004 11:13:45 -0800
Subject: [PATCH] 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
---
 libjava/gnu/java/nio/FileLockImpl.java  | 14 ++++++--------
 libjava/gnu/java/nio/natFileLockImpl.cc | 24 ------------------------
 2 files changed, 6 insertions(+), 32 deletions(-)
 delete mode 100644 libjava/gnu/java/nio/natFileLockImpl.cc

diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java
index eff3320770f4..23f67b8ded23 100644
--- a/libjava/gnu/java/nio/FileLockImpl.java
+++ b/libjava/gnu/java/nio/FileLockImpl.java
@@ -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());
   }
 }
diff --git a/libjava/gnu/java/nio/natFileLockImpl.cc b/libjava/gnu/java/nio/natFileLockImpl.cc
deleted file mode 100644
index d3d01a12df32..000000000000
--- a/libjava/gnu/java/nio/natFileLockImpl.cc
+++ /dev/null
@@ -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());
-}
-- 
GitLab