diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/mach/hurd/fcntl.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index d44ef731a6..bbd27444b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-11-10 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Treat a struct flock with + l_start == 0 and l_len == 1 as we do l_len == 0. + 2002-11-10 Ulrich Drepper <drepper@redhat.com> * po/da.po: Update from translation team. diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c index 275f6b003d..d4e4aa5da1 100644 --- a/sysdeps/mach/hurd/fcntl.c +++ b/sysdeps/mach/hurd/fcntl.c @@ -155,7 +155,12 @@ __libc_fcntl (int fd, int cmd, ...) switch (fl->l_whence) { case SEEK_SET: - if (fl->l_start == 0 && fl->l_len == 0) + if (fl->l_start == 0 && fl->l_len == 0) /* Whole file request. */ + break; + /* It seems to be common for applications to lock the first + byte of the file when they are really doing whole-file locking. + So, since it's so wrong already, might as well do that too. */ + if (fl->l_start == 0 && fl->l_len == 1) break; /* FALLTHROUGH */ case SEEK_CUR: |