summaryrefslogtreecommitdiff
path: root/iconv/gconv_db.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-09 10:04:55 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-09 10:04:55 +0000
commit9e26f1295a6924cca895566708670c6787cfaa9e (patch)
tree5a090b7db4ed62f97e58eed56946cb055fa3dd3b /iconv/gconv_db.c
parentc1b202903d28e83e4b8e8fe7b8d28490d79f0746 (diff)
Update.
* iconv/gconv_db.c: Don't define lock as static. Rename to __gconv_lock and export from the file. * iconv/gconv_int.h: Declare __gconv_lock. * libio/iofclose.c [_LIBC] (_IO_new_fclose): Lock gconv lock before __gconv_release_step calls. Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>. * iconv/gconv_simple.c (internal_ucs4_loop): Fix typo in last change. * iconv/gconv_db.c
Diffstat (limited to 'iconv/gconv_db.c')
-rw-r--r--iconv/gconv_db.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index 158e0e186e..a21f8ddb3c 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -1,5 +1,5 @@
/* Provide access to the collection of available transformation modules.
- Copyright (C) 1997,98,99,2000,2001,2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1997-2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -37,7 +37,7 @@ void *__gconv_alias_db;
struct gconv_module *__gconv_modules_db;
/* We modify global data. */
-__libc_lock_define_initialized (static, lock)
+__libc_lock_define_initialized (, __gconv_lock)
/* Provide access to module database. */
@@ -683,20 +683,20 @@ __gconv_find_transform (const char *toset, const char *fromset,
__libc_once (once, __gconv_read_conf);
/* Acquire the lock. */
- __libc_lock_lock (lock);
+ __libc_lock_lock (__gconv_lock);
result = __gconv_lookup_cache (toset, fromset, handle, nsteps, flags);
if (result != __GCONV_NODB)
{
/* We have a cache and could resolve the request, successful or not. */
- __libc_lock_unlock (lock);
+ __libc_lock_unlock (__gconv_lock);
return result;
}
/* If we don't have a module database return with an error. */
if (__gconv_modules_db == NULL)
{
- __libc_lock_unlock (lock);
+ __libc_lock_unlock (__gconv_lock);
return __GCONV_NOCONV;
}
@@ -715,7 +715,7 @@ __gconv_find_transform (const char *toset, const char *fromset,
&& strcmp (toset_expand, fromset_expand) == 0)))))
{
/* Both character sets are the same. */
- __libc_lock_unlock (lock);
+ __libc_lock_unlock (__gconv_lock);
return __GCONV_NOCONV;
}
@@ -723,7 +723,7 @@ __gconv_find_transform (const char *toset, const char *fromset,
handle, nsteps);
/* Release the lock. */
- __libc_lock_unlock (lock);
+ __libc_lock_unlock (__gconv_lock);
/* The following code is necessary since `find_derivation' will return
GCONV_OK even when no derivation was found but the same request
@@ -743,7 +743,7 @@ __gconv_close_transform (struct __gconv_step *steps, size_t nsteps)
size_t cnt;
/* Acquire the lock. */
- __libc_lock_lock (lock);
+ __libc_lock_lock (__gconv_lock);
#ifndef STATIC_GCONV
cnt = nsteps;
@@ -757,7 +757,7 @@ __gconv_close_transform (struct __gconv_step *steps, size_t nsteps)
__gconv_release_cache (steps, nsteps);
/* Release the lock. */
- __libc_lock_unlock (lock);
+ __libc_lock_unlock (__gconv_lock);
return result;
}