summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/gnu/java/nio/FileLockImpl.java2
-rw-r--r--libjava/gnu/java/nio/channels/natFileChannelPosix.cc2
3 files changed, 9 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 98d7e4eb897..6d130ff2d62 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2004-11-11 Casey Marshall <csm@gnu.org>
+
+ * gnu/java/nio/FileLock.java (isValid): locks are valid if the
+ channel is open.
+ * gnu/java/nio/channels/natFileChannelPosix.cc (lock): use
+ 'F_RDLCK' for shared locks, 'F_WRLCK' for exclusive locks.
+
2004-11-11 Robert Schuster <thebohemian@gmx.net>
Fixed regression:
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java
index bba5880e22c..8591dac43b8 100644
--- a/libjava/gnu/java/nio/FileLockImpl.java
+++ b/libjava/gnu/java/nio/FileLockImpl.java
@@ -72,7 +72,7 @@ public class FileLockImpl extends FileLock
public boolean isValid ()
{
- return !channel().isOpen();
+ return channel().isOpen();
}
public synchronized void release () throws IOException
diff --git a/libjava/gnu/java/nio/channels/natFileChannelPosix.cc b/libjava/gnu/java/nio/channels/natFileChannelPosix.cc
index edc843b903a..742201bde94 100644
--- a/libjava/gnu/java/nio/channels/natFileChannelPosix.cc
+++ b/libjava/gnu/java/nio/channels/natFileChannelPosix.cc
@@ -457,7 +457,7 @@ FileChannelImpl::lock
{
struct flock lockdata;
- lockdata.l_type = shared ? F_WRLCK : F_RDLCK;
+ lockdata.l_type = shared ? F_RDLCK : F_WRLCK;
lockdata.l_whence = SEEK_SET;
lockdata.l_start = pos;
lockdata.l_len = len;