2003-05-14 Michael Koch <konqueror@gmx.de>

* gnu/java/nio/FileLockImpl.java
	(released): New member variable.
	(FileLockImpl): Initialize released.
	(releaseImpl): New native method.
	(release): Implemented.
	* gnu/java/nio/SelectorImpl.java: Reformatted.
	* gnu/java/nio/SelectionKeyImpl.java: Reformatted.
	* gnu/java/nio/ServerSocketChannelImpl.java: Reformatted.
	(accept): Throws IOException.
	* gnu/java/nio/SocketChannelImpl.java: Reformatted.
	(implConfigureBlocking): Throws IOException.
	(connect): Likewise.
	(read): Likewise.
	(write): Likewise.
	* gnu/java/nio/natFileLockImpl.cc: New file.
	* java/nio/channels/FileLock.java: Reformatted.
	* Makefile.am:
	(ordinary_java_source_files): Added gnu/java/nio/FileLockImpl.java.
	(nat_source_files): Added gnu/java/nio/natFileLockImpl.cc.
	* Makefile.in: Regenerated.

From-SVN: r66799
This commit is contained in:
Michael Koch 2003-05-14 06:37:59 +00:00 committed by Michael Koch
parent 2306d91c5c
commit cc1b3d6b64
10 changed files with 116 additions and 49 deletions

View File

@ -1,3 +1,26 @@
2003-05-14 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileLockImpl.java
(released): New member variable.
(FileLockImpl): Initialize released.
(releaseImpl): New native method.
(release): Implemented.
* gnu/java/nio/SelectorImpl.java: Reformatted.
* gnu/java/nio/SelectionKeyImpl.java: Reformatted.
* gnu/java/nio/ServerSocketChannelImpl.java: Reformatted.
(accept): Throws IOException.
* gnu/java/nio/SocketChannelImpl.java: Reformatted.
(implConfigureBlocking): Throws IOException.
(connect): Likewise.
(read): Likewise.
(write): Likewise.
* gnu/java/nio/natFileLockImpl.cc: New file.
* java/nio/channels/FileLock.java: Reformatted.
* Makefile.am:
(ordinary_java_source_files): Added gnu/java/nio/FileLockImpl.java.
(nat_source_files): Added gnu/java/nio/natFileLockImpl.cc.
* Makefile.in: Regenerated.
2003-05-13 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/CharViewBufferImpl.java

View File

@ -2104,6 +2104,7 @@ gnu/java/nio/DirectByteBufferImpl.java \
gnu/java/nio/DoubleBufferImpl.java \
gnu/java/nio/DoubleViewBufferImpl.java \
gnu/java/nio/FileChannelImpl.java \
gnu/java/nio/FileLockImpl.java \
gnu/java/nio/FloatBufferImpl.java \
gnu/java/nio/FloatViewBufferImpl.java \
gnu/java/nio/IntBufferImpl.java \
@ -2564,6 +2565,7 @@ gnu/gcj/runtime/natStringBuffer.cc \
gnu/gcj/runtime/natVMClassLoader.cc \
gnu/java/nio/natDirectByteBufferImpl.cc \
gnu/java/nio/natFileChannelImpl.cc \
gnu/java/nio/natFileLockImpl.cc \
gnu/java/nio/natMappedByteFileBuffer.cc \
gnu/java/nio/natSelectorImpl.cc \
gnu/java/nio/natSocketChannelImpl.cc \

View File

@ -1866,6 +1866,7 @@ gnu/java/nio/DirectByteBufferImpl.java \
gnu/java/nio/DoubleBufferImpl.java \
gnu/java/nio/DoubleViewBufferImpl.java \
gnu/java/nio/FileChannelImpl.java \
gnu/java/nio/FileLockImpl.java \
gnu/java/nio/FloatBufferImpl.java \
gnu/java/nio/FloatViewBufferImpl.java \
gnu/java/nio/IntBufferImpl.java \
@ -2325,6 +2326,7 @@ gnu/gcj/runtime/natStringBuffer.cc \
gnu/gcj/runtime/natVMClassLoader.cc \
gnu/java/nio/natDirectByteBufferImpl.cc \
gnu/java/nio/natFileChannelImpl.cc \
gnu/java/nio/natFileLockImpl.cc \
gnu/java/nio/natMappedByteFileBuffer.cc \
gnu/java/nio/natSelectorImpl.cc \
gnu/java/nio/natSocketChannelImpl.cc \
@ -2500,7 +2502,7 @@ gnu/gcj/runtime/natNameFinder.lo gnu/gcj/runtime/natSharedLibLoader.lo \
gnu/gcj/runtime/natStackTrace.lo gnu/gcj/runtime/natStringBuffer.lo \
gnu/gcj/runtime/natVMClassLoader.lo \
gnu/java/nio/natDirectByteBufferImpl.lo \
gnu/java/nio/natFileChannelImpl.lo \
gnu/java/nio/natFileChannelImpl.lo gnu/java/nio/natFileLockImpl.lo \
gnu/java/nio/natMappedByteFileBuffer.lo gnu/java/nio/natSelectorImpl.lo \
gnu/java/nio/natSocketChannelImpl.lo java/io/natFile.lo \
java/io/natFileDescriptor.lo java/io/natObjectInputStream.lo \
@ -2970,7 +2972,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/gnu/java/nio/DirectByteBufferImpl.P \
.deps/gnu/java/nio/DoubleBufferImpl.P \
.deps/gnu/java/nio/DoubleViewBufferImpl.P \
.deps/gnu/java/nio/FileChannelImpl.P \
.deps/gnu/java/nio/FileChannelImpl.P .deps/gnu/java/nio/FileLockImpl.P \
.deps/gnu/java/nio/FloatBufferImpl.P \
.deps/gnu/java/nio/FloatViewBufferImpl.P \
.deps/gnu/java/nio/IntBufferImpl.P \
@ -2995,6 +2997,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/gnu/java/nio/charset/UTF_8.P \
.deps/gnu/java/nio/natDirectByteBufferImpl.P \
.deps/gnu/java/nio/natFileChannelImpl.P \
.deps/gnu/java/nio/natFileLockImpl.P \
.deps/gnu/java/nio/natMappedByteFileBuffer.P \
.deps/gnu/java/nio/natSelectorImpl.P \
.deps/gnu/java/nio/natSocketChannelImpl.P \

View File

@ -35,29 +35,41 @@ this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package gnu.java.nio;
import java.io.FileDescriptor;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
/**
* @author Michael Koch
* @since 1.4
*/
public class FileLockImpl extends FileLock
{
public FileLockImpl (FileChannel channel, long position, long size,
boolean shared)
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 boolean isValid ()
{
throw new Error ("Not implemented");
return (released || !channel.isOpen ());
}
public void release ()
private native void releaseImpl () throws IOException;
public synchronized void release () throws IOException
{
throw new Error ("Not implemented");
releaseImpl ();
released = true;
}
}

View File

@ -91,12 +91,12 @@ class ServerSocketChannelImpl extends ServerSocketChannel
fd = SocketChannelImpl.SocketCreate ();
}
protected void implConfigureBlocking (boolean block) throws IOException
protected void implConfigureBlocking (boolean blocking) throws IOException
{
blocking = block;
this.blocking = blocking;
}
public SocketChannel accept ()
public SocketChannel accept () throws IOException
{
SocketChannelImpl result = new SocketChannelImpl (provider ());
result.sa = new InetSocketAddress (0);

View File

@ -91,21 +91,20 @@ public class SocketChannelImpl extends SocketChannel
}
}
protected void implCloseSelectableChannel()
protected void implCloseSelectableChannel () throws IOException
{
connected = false;
SocketClose(fd);
fd = SocketCreate();
}
protected void implConfigureBlocking(boolean block)
protected void implConfigureBlocking (boolean blocking) throws IOException
{
if (blocking == block)
if (this.blocking == blocking)
return;
}
public boolean connect(SocketAddress remote)
throws IOException
public boolean connect (SocketAddress remote) throws IOException
{
if (connected)
{
@ -158,7 +157,7 @@ public class SocketChannelImpl extends SocketChannel
return sock_object;
}
public int read(ByteBuffer dst)
public int read (ByteBuffer dst) throws IOException
{
int bytes = 0;
int len = 1024;
@ -177,6 +176,7 @@ public class SocketChannelImpl extends SocketChannel
}
public long read (ByteBuffer[] dsts, int offset, int length)
throws IOException
{
long bytes = 0;
@ -189,6 +189,7 @@ public class SocketChannelImpl extends SocketChannel
}
public int write (ByteBuffer src)
throws IOException
{
int bytes = 0;
int len = src.position();
@ -210,6 +211,7 @@ public class SocketChannelImpl extends SocketChannel
}
public long write (ByteBuffer[] srcs, int offset, int length)
throws IOException
{
long bytes = 0;

View File

@ -0,0 +1,25 @@
// 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 ()
{
throw new ::java::io::IOException
(JvNewStringUTF ("releaseImpl not implemented"));
}