about summary refs log tree commit diff
path: root/iconv/gconv_db.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-01-04 12:33:59 +0000
committerUlrich Drepper <drepper@redhat.com>1999-01-04 12:33:59 +0000
commit3c5edd4dc680911b5dd1bd9a0c2b55cc134b6a46 (patch)
tree084f88fb4c54c55864087c54d94bc7940a6c02b0 /iconv/gconv_db.c
parentdcac8408e04f993354bbc3a89a1a100d4a15baf0 (diff)
downloadglibc-3c5edd4dc680911b5dd1bd9a0c2b55cc134b6a46.tar.gz
glibc-3c5edd4dc680911b5dd1bd9a0c2b55cc134b6a46.tar.xz
glibc-3c5edd4dc680911b5dd1bd9a0c2b55cc134b6a46.zip
Update.
1999-01-04  Ulrich Drepper  <drepper@cygnus.com>

	* catgets/gencat.c: Update year in copyright message text.
	* db2/makedb.c: Likewise.
	* debug/catchsegv.sh: Likewise.
	* elf/ldd.bash.in: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* malloc/mtrace.pl: Likewise.
	* nscd/nscd.c: Likewise.

1999-01-02  Philip Blundell  <philb@gnu.org>

	* sunrpc/Makefile: Ensure that we really use the right path for cpp.

1999-01-03  Philip Blundell  <philb@gnu.org>

	* Makefile (tests-clean): New test output files.
	* Makerules (do-tests-clean): New rule to support the above.
	* Rules (subdir_testclean): Likewise.

1999-01-03  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* iconv/Makefile: Use install-others instead of explicit
	dependency on subdir_install.

1999-01-02  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* iconv/gconv_db.c (find_derivation): Release lock before
	returning.
	(__gconv_find_transform): Likewise.

1999-01-01  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* inet/ether_ntoa.c (ether_ntoa): Make `asc' static since that's
	what we return.

1999-01-01  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makerules: Remove all references to obsolete variables
	tests-static and test-srcs-static.
	* Make-dist: Likewise.
	* Rules: Likewise.  Remove rules to generate obsolete
	empty.{c,o*}.

1999-01-03  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/pread.c: Use the i386 implementation.
	* sysdeps/unix/sysv/linux/arm/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/pwrite64.c: Likewise.
Diffstat (limited to 'iconv/gconv_db.c')
-rw-r--r--iconv/gconv_db.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/iconv/gconv_db.c b/iconv/gconv_db.c
index 11914547c7..e6253b8380 100644
--- a/iconv/gconv_db.c
+++ b/iconv/gconv_db.c
@@ -294,7 +294,10 @@ find_derivation (const char *toset, const char *toset_expand,
   result = derivation_lookup (fromset_expand ?: fromset, toset_expand ?: toset,
 			      handle, nsteps);
   if (result == GCONV_OK)
-    return result;
+    {
+      __libc_lock_unlock (lock);
+      return result;
+    }
 
   /* ### TODO
      For now we use a simple algorithm with quadratic runtime behaviour.
@@ -527,7 +530,10 @@ __gconv_find_transform (const char *toset, const char *fromset,
 
   /* If we don't have a module database return with an error.  */
   if (__gconv_modules_db == NULL)
-    return GCONV_NOCONV;
+    {
+      __libc_lock_unlock (lock);
+      return GCONV_NOCONV;
+    }
 
   /* See whether the names are aliases.  */
   if (__gconv_alias_db != NULL)