_flock_stub.c (72373) | _flock_stub.c (72529) |
---|---|
1/* 2 * Copyright (c) 1998 John Birrell <jb@cimlogic.com.au>. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * | 1/* 2 * Copyright (c) 1998 John Birrell <jb@cimlogic.com.au>. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * |
32 * $FreeBSD: head/lib/libc/stdio/_flock_stub.c 72373 2001-02-11 22:06:43Z deischen $ | 32 * $FreeBSD: head/lib/libc/stdio/_flock_stub.c 72529 2001-02-16 06:11:22Z imp $ |
33 * 34 */ 35 36/* 37 * POSIX stdio FILE locking functions. These assume that the locking 38 * is only required at FILE structure level, not at file descriptor 39 * level too. 40 * --- 22 unchanged lines hidden (view full) --- 63 */ 64struct __file_lock { 65 pthread_mutex_t fl_mutex; 66 pthread_t fl_owner; /* current owner */ 67 int fl_count; /* recursive lock count */ 68}; 69 70/* | 33 * 34 */ 35 36/* 37 * POSIX stdio FILE locking functions. These assume that the locking 38 * is only required at FILE structure level, not at file descriptor 39 * level too. 40 * --- 22 unchanged lines hidden (view full) --- 63 */ 64struct __file_lock { 65 pthread_mutex_t fl_mutex; 66 pthread_t fl_owner; /* current owner */ 67 int fl_count; /* recursive lock count */ 68}; 69 70/* |
71 * We need to retain binary compatibility for a while. So pretend 72 * that _lock is part of FILE * even though it is dereferenced off 73 * _extra now. When we stop encoding the size of FILE into binaries 74 * this can be changed in stdio.h. This will reduce the amount of 75 * code that has to change in the future (just remove this comment 76 * and #define). 77 */ 78#define _lock _extra->_mtlock 79 80/* |
|
71 * Allocate and initialize a file lock. 72 */ 73static int 74init_lock(FILE *fp) 75{ 76 struct __file_lock *p; 77 int ret; 78 --- 109 unchanged lines hidden --- | 81 * Allocate and initialize a file lock. 82 */ 83static int 84init_lock(FILE *fp) 85{ 86 struct __file_lock *p; 87 int ret; 88 --- 109 unchanged lines hidden --- |