Page MenuHomeFreeBSD

D31899.id.diff
No OneTemporary

D31899.id.diff

diff --git a/lib/libc/locale/lmonetary.c b/lib/libc/locale/lmonetary.c
--- a/lib/libc/locale/lmonetary.c
+++ b/lib/libc/locale/lmonetary.c
@@ -107,8 +107,6 @@
&loc->buffer, "LC_MONETARY",
LCMONETARY_SIZE_FULL, LCMONETARY_SIZE_MIN,
(const char **)l);
- if (ret != _LDP_ERROR)
- *changed = 1;
if (ret == _LDP_LOADED) {
l->mon_grouping =
__fix_locale_grouping_str(l->mon_grouping);
@@ -146,6 +144,8 @@
M_ASSIGN_ICHAR(p_sign_posn);
M_ASSIGN_ICHAR(n_sign_posn);
}
+ if (ret != _LDP_ERROR)
+ atomic_store_rel_int(changed, 1);
return (ret);
}
int
diff --git a/lib/libc/locale/lnumeric.c b/lib/libc/locale/lnumeric.c
--- a/lib/libc/locale/lnumeric.c
+++ b/lib/libc/locale/lnumeric.c
@@ -73,8 +73,6 @@
&loc->buffer, "LC_NUMERIC",
LCNUMERIC_SIZE, LCNUMERIC_SIZE,
(const char**)l);
- if (ret != _LDP_ERROR)
- *changed= 1;
if (ret == _LDP_LOADED) {
/* Can't be empty according to C99 */
if (*l->decimal_point == '\0')
@@ -83,6 +81,8 @@
l->grouping =
__fix_locale_grouping_str(l->grouping);
}
+ if (ret != _LDP_ERROR)
+ atomic_store_rel_int(changed, 1);
return (ret);
}
diff --git a/lib/libc/locale/localeconv.c b/lib/libc/locale/localeconv.c
--- a/lib/libc/locale/localeconv.c
+++ b/lib/libc/locale/localeconv.c
@@ -65,7 +65,7 @@
FIX_LOCALE(loc);
struct lconv *ret = &loc->lconv;
- if (loc->monetary_locale_changed) {
+ if (atomic_load_acq_int(&loc->monetary_locale_changed) != 0) {
/* LC_MONETARY part */
struct lc_monetary_T * mptr;
@@ -94,10 +94,10 @@
M_ASSIGN_CHAR(int_n_sep_by_space);
M_ASSIGN_CHAR(int_p_sign_posn);
M_ASSIGN_CHAR(int_n_sign_posn);
- loc->monetary_locale_changed = 0;
+ atomic_store_int(&loc->monetary_locale_changed, 0);
}
- if (loc->numeric_locale_changed) {
+ if (atomic_load_acq_int(&loc->numeric_locale_changed) != 0) {
/* LC_NUMERIC part */
struct lc_numeric_T * nptr;
@@ -107,7 +107,7 @@
N_ASSIGN_STR(decimal_point);
N_ASSIGN_STR(thousands_sep);
N_ASSIGN_STR(grouping);
- loc->numeric_locale_changed = 0;
+ atomic_store_int(&loc->numeric_locale_changed, 0);
}
return ret;

File Metadata

Mime Type
text/plain
Expires
Fri, Jun 19, 10:57 PM (9 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34101031
Default Alt Text
D31899.id.diff (2 KB)

Event Timeline