From 47bdfa160502acc78cb90f350258fe975e4f956f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 8 Jan 2012 03:27:33 +0000 Subject: Use flock instead of lockf (seems to be more portable). git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@3919 a436a847-0d15-0410-975c-d299462d15a1 --- src/util.c | 9 ++++++--- wscript | 7 +++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/util.c b/src/util.c index b421660..cda7468 100644 --- a/src/util.c +++ b/src/util.c @@ -15,7 +15,6 @@ */ #define _POSIX_SOURCE 1 /* for wordexp, fileno */ -#define _BSD_SOURCE 1 /* for lockf */ #include #include @@ -28,6 +27,10 @@ #include #include +#if defined(HAVE_FLOCK) && defined(HAVE_FILENO) +# include +#endif + #include "lilv_internal.h" #ifdef HAVE_WORDEXP @@ -354,8 +357,8 @@ lilv_path_is_child(const char* path, const char* dir) int lilv_flock(FILE* file, bool lock) { -#if defined(HAVE_LOCKF) && defined(HAVE_FILENO) - return lockf(fileno(file), lock ? F_LOCK : F_ULOCK, 0); +#if defined(HAVE_FLOCK) && defined(HAVE_FILENO) + return flock(fileno(file), lock ? LOCK_EX : LOCK_UN); #else return 0; #endif diff --git a/wscript b/wscript index 4d9de86..730c814 100644 --- a/wscript +++ b/wscript @@ -86,10 +86,9 @@ def configure(conf): define_name='HAVE_WORDEXP', mandatory=False) - conf.check_cc(function_name='lockf', - header_name='unistd.h', - defines='_BSD_SOURCE', - define_name='HAVE_LOCKF', + conf.check_cc(function_name='flock', + header_name='sys/file.h', + define_name='HAVE_FLOCK', mandatory=False) conf.check_cc(function_name='fileno', -- cgit v1.2.1