Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 26 Sep 2004 05:07:13 +0000 (05:07 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 26 Sep 2004 05:07:13 +0000 (05:07 +0000)
ChangeLog
intl/l10nflist.c
intl/loadinfo.h
intl/loadmsgcat.c

index a546c02..d29b7ea 100644 (file)
--- 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.
index 5a366e5..7ffb4ab 100644 (file)
@@ -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)
     {
index 913022e..2c1b44c 100644 (file)
@@ -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;
 
index ec886d9..efefc69 100644 (file)
@@ -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);
 }