From 9c45d9ad13fdf439d44d7443ae75da15ea0223ed Mon Sep 17 00:00:00 2001 From: Sam Varshavchik Date: Mon, 19 Aug 2013 16:39:41 -0400 Subject: Initial checkin Imported from subversion report, converted to git. Updated all paths in scripts and makefiles, reflecting the new directory hierarchy. --- liblock/lockflock.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 liblock/lockflock.c (limited to 'liblock/lockflock.c') diff --git a/liblock/lockflock.c b/liblock/lockflock.c new file mode 100644 index 0000000..0e53aa3 --- /dev/null +++ b/liblock/lockflock.c @@ -0,0 +1,35 @@ +/* +** Copyright 1998 - 1999 Double Precision, Inc. See COPYING for +** distribution information. +*/ + +#if HAVE_CONFIG_H +#include "config.h" +#endif +#include +#if HAVE_FCNTL_H +#include +#endif +#if HAVE_SYS_FCNTL_H +#include +#endif +#if HAVE_SYS_FILE_H +#include +#endif +#include +#include "liblock.h" + +int ll_lockfd(int fd, int ltype, LL_OFFSET_TYPE start, LL_OFFSET_TYPE len) +{ + if (start || len + || (ltype & ll_whence_curpos) + || (ltype & ll_whence_end)) + { + errno=EINVAL; + return (-1); + } + + return (flock(fd, ltype & ll_unlock ? LOCK_UN: + (ltype & ll_writelock ? LOCK_EX:LOCK_SH) | + (ltype & ll_wait ? 0:LOCK_NB))); +} -- cgit v1.2.3