1 --- lockf.c.orig 2009-11-07 15:52:44.000000000 -0800
2 +++ lockf.c 2009-11-07 16:04:57.000000000 -0800
5 __FBSDID("$FreeBSD: src/lib/libc/gen/lockf.c,v 1.10 2009/03/04 01:01:26 delphij Exp $");
7 +#ifdef VARIANT_CANCELABLE
8 +int __fcntl(int, int, void *);
9 +#else /* !VARIANT_CANCELABLE */
10 +int __fcntl_nocancel(int, int, void *);
11 +#endif /* VARIANT_CANCELABLE */
14 #include "namespace.h"
17 @@ -62,9 +69,14 @@ lockf(int filedes, int function, off_t s
21 - if (_fcntl(filedes, F_GETLK, &fl) == -1)
22 +#ifdef VARIANT_CANCELABLE
23 + if (__fcntl(filedes, F_GETLK, &fl) == -1)
25 - if (fl.l_type == F_UNLCK || (fl.l_sysid == 0 && fl.l_pid == getpid()))
26 +#else /* !VARIANT_CANCELABLE */
27 + if (__fcntl_nocancel(filedes, F_GETLK, &fl) == -1)
29 +#endif /* VARIANT_CANCELABLE */
30 + if (fl.l_type == F_UNLCK || fl.l_pid == getpid())
34 @@ -75,5 +87,10 @@ lockf(int filedes, int function, off_t s
38 - return (_fcntl(filedes, cmd, &fl));
39 +#ifdef VARIANT_CANCELABLE
40 + return (__fcntl(filedes, cmd, &fl));
41 +#else /* !VARIANT_CANCELABLE */
42 + return (__fcntl_nocancel(filedes, cmd, &fl));
43 +#endif /* VARIANT_CANCELABLE */