about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--intl/l10nflist.c1
-rw-r--r--intl/loadinfo.h3
-rw-r--r--intl/loadmsgcat.c8
4 files changed, 5 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index a546c02492..d29b7ea925 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,8 +4,6 @@
 	* intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
 	decided < 0.
 	* intl/finddomain.c (_nl_find_domain): Likewise.
-	* intl/l10nflist.c (_nl_make_l10nflist): Initialize lock.
-	* intl/loadinfo.h (struct loaded_l10nfile): Add lock element.
 	* intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
 	are done.  First set to -1 to signal initialization is ongoing.
 	Protect against concurrent callers with recursive lock.
diff --git a/intl/l10nflist.c b/intl/l10nflist.c
index 5a366e59fb..7ffb4ab590 100644
--- a/intl/l10nflist.c
+++ b/intl/l10nflist.c
@@ -280,7 +280,6 @@ _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
 		     || ((mask & XPG_CODESET) != 0
 			 && (mask & XPG_NORM_CODESET) != 0));
   retval->data = NULL;
-  __libc_lock_init_recursive (retval->lock);
 
   if (last == NULL)
     {
diff --git a/intl/loadinfo.h b/intl/loadinfo.h
index 913022eb7b..2c1b44cec4 100644
--- a/intl/loadinfo.h
+++ b/intl/loadinfo.h
@@ -20,8 +20,6 @@
 #ifndef _LOADINFO_H
 #define _LOADINFO_H	1
 
-#include <bits/libc-lock.h>
-
 /* Declarations of locale dependent catalog lookup functions.
    Implemented in
 
@@ -63,7 +61,6 @@ struct loaded_l10nfile
 {
   const char *filename;
   int decided;
-  __libc_lock_define_recursive (, lock);
 
   const void *data;
 
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index ec886d9bd7..efefc69a43 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -88,6 +88,7 @@ char *alloca ();
 #ifdef _LIBC
 # include "../locale/localeinfo.h"
 # include <not-cancel.h>
+# include <bits/libc-lock.h>
 #endif
 
 /* Provide fallback values for macros that ought to be defined in <inttypes.h>.
@@ -899,6 +900,7 @@ _nl_load_domain (domain_file, domainbinding)
      struct loaded_l10nfile *domain_file;
      struct binding *domainbinding;
 {
+  __libc_lock_define_initialized_recursive (static, lock);
   int fd = -1;
   size_t size;
 #ifdef _LIBC
@@ -912,7 +914,7 @@ _nl_load_domain (domain_file, domainbinding)
   int revision;
   const char *nullentry;
 
-  __libc_lock_lock_recursive (domain_file->lock);
+  __libc_lock_lock_recursive (lock);
   if (domain_file->decided != 0)
     {
       /* There are two possibilities:
@@ -925,7 +927,7 @@ _nl_load_domain (domain_file, domainbinding)
            Not necessary anymore since if the lock is available this
 	   is finished.
       */
-      __libc_lock_unlock_recursive (domain_file->lock);
+      __libc_lock_unlock_recursive (lock);
       return;
     }
 
@@ -1400,7 +1402,7 @@ _nl_load_domain (domain_file, domainbinding)
 
   domain_file->decided = 1;
 
-  __libc_lock_unlock_recursive (domain_file->lock);
+  __libc_lock_unlock_recursive (lock);
 }