summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--intl/dcigettext.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 99ae63e820..ede6541374 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+	* intl/dcigettext.c (_nl_find_msg): Unlock the conversions_lock
+	when we cannot recode the message.
+
 2007-10-13  Ulrich Drepper  <drepper@redhat.com>
 
 	[BZ #4359]
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 55dcaabd80..a2cd8014c3 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -974,6 +974,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
 			   translation at all.  */
 			if (__builtin_expect (r != __GCONV_NULCONV, 1))
 			  {
+			    __libc_rwlock_unlock (domain->conversions_lock);
 			    free ((char *) encoding);
 			    return NULL;
 			  }