From fa2b97a20a518708e4534e8aa2cce12024228488 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 14 Jul 2005 07:04:21 +0000 Subject: r8451: samba4 finally builds on solaris 8 sparc with heimdal and ejs its been a long haul ... (This used to be commit 3c4291e49abed14973b4a4fa1a9277918b896cac) --- source4/heimdal_build/replace.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'source4/heimdal_build/replace.c') diff --git a/source4/heimdal_build/replace.c b/source4/heimdal_build/replace.c index 46019d7bb5..f222e764e4 100644 --- a/source4/heimdal_build/replace.c +++ b/source4/heimdal_build/replace.c @@ -23,6 +23,8 @@ #include "config.h" #include +#include +#include #include "err.h" #include "roken.h" @@ -62,15 +64,22 @@ #ifndef HAVE_FLOCK int flock(int fd, int op) { + struct flock lock; + lock.l_whence = 0; + lock.l_start = 0; + lock.l_len = 0; + lock.l_pid = 0; + switch (op & (LOCK_UN|LOCK_SH|LOCK_EX)) { case LOCK_UN: - return fcntl_lock(fd, F_SETLK, 0, 0, F_UNLCK); + lock.l_type = F_UNLCK; + return fcntl(fd, F_SETLK, &lock); case LOCK_SH: - return fcntl_lock(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, - 0, 0, F_RDLCK); + lock.l_type = F_RDLCK; + return fcntl(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, &lock); case LOCK_EX: - return fcntl_lock(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, - 0, 0, F_WRLCK); + lock.l_type = F_WRLCK; + return fcntl(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, &lock); } errno = EINVAL; return -1; -- cgit