summaryrefslogtreecommitdiff
path: root/native
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2006-10-11 17:04:28 +0000
committerTom Tromey <tromey@redhat.com>2006-10-11 17:04:28 +0000
commitbb59f44e1034c068cc838940af6ea165e6338a1e (patch)
tree22ce6763c2d926942b0441251c1b7dbc5a76ccc2 /native
parent0b06b82922daa55f5a47aa89ec2aae432d263d61 (diff)
downloadclasspath-bb59f44e1034c068cc838940af6ea165e6338a1e.tar.gz
2006-10-11 Edwin Steiner <edwin.steiner@gmx.net>
* native/jni/java-nio/gnu_java_nio_VMChannel.c (Java_gnu_java_nio_VMChannel_lock): Special case Long.MAX_VALUE.
Diffstat (limited to 'native')
-rw-r--r--native/jni/java-nio/gnu_java_nio_VMChannel.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/native/jni/java-nio/gnu_java_nio_VMChannel.c b/native/jni/java-nio/gnu_java_nio_VMChannel.c
index b4f444361..a4c622221 100644
--- a/native/jni/java-nio/gnu_java_nio_VMChannel.c
+++ b/native/jni/java-nio/gnu_java_nio_VMChannel.c
@@ -1582,7 +1582,11 @@ Java_gnu_java_nio_VMChannel_lock (JNIEnv *env,
struct flock fl;
fl.l_start = (off_t) pos;
- fl.l_len = (off_t) len;
+ /* Long.MAX_VALUE means lock everything possible starting at pos. */
+ if (len == 9223372036854775807LL)
+ fl.l_len = 0;
+ else
+ fl.l_len = (off_t) len;
fl.l_pid = getpid ();
fl.l_type = (shared ? F_RDLCK : F_WRLCK);
fl.l_whence = SEEK_SET;