From 3c5edd4dc680911b5dd1bd9a0c2b55cc134b6a46 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 4 Jan 1999 12:33:59 +0000 Subject: Update. 1999-01-04 Ulrich Drepper * 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 * sunrpc/Makefile: Ensure that we really use the right path for cpp. 1999-01-03 Philip Blundell * 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 * iconv/Makefile: Use install-others instead of explicit dependency on subdir_install. 1999-01-02 Andreas Schwab * iconv/gconv_db.c (find_derivation): Release lock before returning. (__gconv_find_transform): Likewise. 1999-01-01 Andreas Schwab * inet/ether_ntoa.c (ether_ntoa): Make `asc' static since that's what we return. 1999-01-01 Andreas Schwab * 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 * 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. --- iconv/gconv_db.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'iconv/gconv_db.c') 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) -- cgit 1.4.1