Deleted Added
full compact
citrus_lock.h (252458) citrus_lock.h (252584)
1/* $FreeBSD: head/lib/libc/iconv/citrus_lock.h 252458 2013-07-01 08:06:26Z peter $ */
1/* $FreeBSD: head/lib/libc/iconv/citrus_lock.h 252584 2013-07-03 18:35:21Z peter $ */
2/*-
3 * Copyright (C) 2010 Gabor Kovesdan <gabor@FreeBSD.org>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright

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

22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 */
27
28#include <pthread.h>
29
2/*-
3 * Copyright (C) 2010 Gabor Kovesdan <gabor@FreeBSD.org>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright

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

22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 */
27
28#include <pthread.h>
29
30/* XXX Yes, the original code has three separate file-local lock instances */
31static pthread_rwlock_t lock = PTHREAD_RWLOCK_INITIALIZER;
32
33#define WLOCK if (__isthreaded) \
34 pthread_rwlock_wrlock(&lock);
35#define UNLOCK if (__isthreaded) \
36 pthread_rwlock_unlock(&lock);
30#define WLOCK(lock) if (__isthreaded) \
31 pthread_rwlock_wrlock(lock);
32#define UNLOCK(lock) if (__isthreaded) \
33 pthread_rwlock_unlock(lock);