mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
hurd: Support lockf at offset 0 with size 0 or 1.
* sysdeps/mach/hurd/f_setlk.c: Include <unistd.h>. (__f_setlk): When whence is SEEK_CUR, use __lseek64 to convert it to SEEK_SET.
This commit is contained in:
parent
0c7f97aead
commit
b15b1a9590
@ -1,3 +1,9 @@
|
||||
2018-11-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||
|
||||
* sysdeps/mach/hurd/f_setlk.c: Include <unistd.h>.
|
||||
(__f_setlk): When whence is SEEK_CUR, use __lseek64 to convert it to
|
||||
SEEK_SET.
|
||||
|
||||
2018-11-19 Mao Han <han_mao@c-sky.com>
|
||||
|
||||
* scripts/config.guess: Update to version 2018-08-29.
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/file.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
|
||||
/* XXX
|
||||
@ -45,6 +46,18 @@ __f_setlk (int fd, int type, int whence, __off64_t start, __off64_t len, int wai
|
||||
if (cmd != LOCK_UN && wait == 0)
|
||||
cmd |= LOCK_NB;
|
||||
|
||||
if (whence == SEEK_CUR)
|
||||
{
|
||||
/* In case the target position is 0, we can support it below. */
|
||||
__off64_t cur = __lseek64 (fd, 0, SEEK_CUR);
|
||||
|
||||
if (cur >= 0)
|
||||
{
|
||||
start = cur + start;
|
||||
whence = SEEK_SET;
|
||||
}
|
||||
}
|
||||
|
||||
switch (whence)
|
||||
{
|
||||
case SEEK_SET:
|
||||
|
Loading…
Reference in New Issue
Block a user