summaryrefslogtreecommitdiffstats
path: root/lib/libc/iconv/citrus_csmapper.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2013-07-03 18:35:21 +0000
committerpeter <peter@FreeBSD.org>2013-07-03 18:35:21 +0000
commit300dfeb2c43c7b0b21cb57726128b43c970eb78d (patch)
treef1e6c66ef88c635fd69918eafab29a785ec064de /lib/libc/iconv/citrus_csmapper.c
parent7adacbf288227833dfa598d5617e97cab8742816 (diff)
downloadFreeBSD-src-300dfeb2c43c7b0b21cb57726128b43c970eb78d.zip
FreeBSD-src-300dfeb2c43c7b0b21cb57726128b43c970eb78d.tar.gz
Make it clear that there are three separate internal locks.
Diffstat (limited to 'lib/libc/iconv/citrus_csmapper.c')
-rw-r--r--lib/libc/iconv/citrus_csmapper.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libc/iconv/citrus_csmapper.c b/lib/libc/iconv/citrus_csmapper.c
index 5e0a01a..e2d10d5 100644
--- a/lib/libc/iconv/citrus_csmapper.c
+++ b/lib/libc/iconv/citrus_csmapper.c
@@ -58,6 +58,8 @@
static struct _citrus_mapper_area *maparea = NULL;
+static pthread_rwlock_t ma_lock = PTHREAD_RWLOCK_INITIALIZER;
+
#define CS_ALIAS _PATH_CSMAPPER "/charset.alias"
#define CS_PIVOT _PATH_CSMAPPER "/charset.pivot"
@@ -314,7 +316,7 @@ get_none(struct _citrus_mapper_area *__restrict ma,
{
int ret;
- WLOCK;
+ WLOCK(&ma_lock);
if (csm_none) {
*rcsm = csm_none;
ret = 0;
@@ -329,7 +331,7 @@ get_none(struct _citrus_mapper_area *__restrict ma,
*rcsm = csm_none;
ret = 0;
quit:
- UNLOCK;
+ UNLOCK(&ma_lock);
return (ret);
}
OpenPOWER on IntegriCloud