Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ulrich Drepper committed Sep 26, 2004
1 parent ce7265c commit ac5e137
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 9 deletions.
2 changes: 0 additions & 2 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
1 change: 0 additions & 1 deletion intl/l10nflist.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
3 changes: 0 additions & 3 deletions intl/loadinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -63,7 +61,6 @@ struct loaded_l10nfile
{
const char *filename;
int decided;
__libc_lock_define_recursive (, lock);

const void *data;

Expand Down
8 changes: 5 additions & 3 deletions intl/loadmsgcat.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>.
Expand Down Expand Up @@ -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
Expand All @@ -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:
Expand All @@ -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;
}

Expand Down Expand Up @@ -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);
}


Expand Down

0 comments on commit ac5e137

Please sign in to comment.