Deleted Added
full compact
lockf.c (55837) lockf.c (56698)
1/* $NetBSD: lockf.c,v 1.1 1997/12/20 20:23:18 kleink Exp $ */
2
3/*-
4 * Copyright (c) 1997 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Klaus Klein.

--- 21 unchanged lines hidden (view full) ---

30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 *
1/* $NetBSD: lockf.c,v 1.1 1997/12/20 20:23:18 kleink Exp $ */
2
3/*-
4 * Copyright (c) 1997 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Klaus Klein.

--- 21 unchanged lines hidden (view full) ---

30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 *
38 * $FreeBSD: head/lib/libc/gen/lockf.c 55837 2000-01-12 09:23:48Z jasone $
38 * $FreeBSD: head/lib/libc/gen/lockf.c 56698 2000-01-27 23:07:25Z jasone $
39 */
40
41#if defined(LIBC_SCCS) && !defined(lint)
42static const char rcsid[]=
39 */
40
41#if defined(LIBC_SCCS) && !defined(lint)
42static const char rcsid[]=
43 "$FreeBSD: head/lib/libc/gen/lockf.c 55837 2000-01-12 09:23:48Z jasone $";
43 "$FreeBSD: head/lib/libc/gen/lockf.c 56698 2000-01-27 23:07:25Z jasone $";
44#endif
45
46#include <errno.h>
47#include <fcntl.h>
48#include <unistd.h>
49
50int
51lockf(filedes, function, size)

--- 18 unchanged lines hidden (view full) ---

70 fl.l_type = F_WRLCK;
71 break;
72 case F_TLOCK:
73 cmd = F_SETLK;
74 fl.l_type = F_WRLCK;
75 break;
76 case F_TEST:
77 fl.l_type = F_WRLCK;
44#endif
45
46#include <errno.h>
47#include <fcntl.h>
48#include <unistd.h>
49
50int
51lockf(filedes, function, size)

--- 18 unchanged lines hidden (view full) ---

70 fl.l_type = F_WRLCK;
71 break;
72 case F_TLOCK:
73 cmd = F_SETLK;
74 fl.l_type = F_WRLCK;
75 break;
76 case F_TEST:
77 fl.l_type = F_WRLCK;
78 if (_libc_fcntl(filedes, F_GETLK, &fl) == -1)
78 if (_fcntl(filedes, F_GETLK, &fl) == -1)
79 return (-1);
80 if (fl.l_type == F_UNLCK || fl.l_pid == getpid())
81 return (0);
82 errno = EAGAIN;
83 return (-1);
84 /* NOTREACHED */
85 default:
86 errno = EINVAL;
87 return (-1);
88 /* NOTREACHED */
89 }
90
79 return (-1);
80 if (fl.l_type == F_UNLCK || fl.l_pid == getpid())
81 return (0);
82 errno = EAGAIN;
83 return (-1);
84 /* NOTREACHED */
85 default:
86 errno = EINVAL;
87 return (-1);
88 /* NOTREACHED */
89 }
90
91 return (_libc_fcntl(filedes, cmd, &fl));
91 return (_fcntl(filedes, cmd, &fl));
92}
92}