summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2021-02-11 11:17:48 -0700
committerKarl Williamson <khw@cpan.org>2022-08-09 18:05:59 -0600
commitc6efbad02ab04568fbee498752817f20f3124611 (patch)
treedffcddbc4ba7221f990260b517b9529ef5b59fb3 /sv.c
parent9444acab0fa8be151c488e30e8956f53a3cbd981 (diff)
downloadperl-c6efbad02ab04568fbee498752817f20f3124611.tar.gz
sv.c: Duplicate more variables during cloning
These locale-related ones should be getting initialized in the new thread, but be certain.
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sv.c b/sv.c
index ea4eac5a94..6f8fe602ed 100644
--- a/sv.c
+++ b/sv.c
@@ -15500,6 +15500,8 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
PL_collxfrm_base = proto_perl->Icollxfrm_base;
PL_collxfrm_mult = proto_perl->Icollxfrm_mult;
PL_strxfrm_max_cp = proto_perl->Istrxfrm_max_cp;
+ PL_strxfrm_is_behaved = proto_perl->Istrxfrm_is_behaved;
+ PL_strxfrm_NUL_replacement = proto_perl->Istrxfrm_NUL_replacement;
#endif /* USE_LOCALE_COLLATE */
#ifdef USE_LOCALE_NUMERIC
@@ -15818,14 +15820,16 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
&& defined(USE_THREAD_SAFE_LOCALE) \
&& ! defined(HAS_QUERYLOCALE)
for (i = 0; i < (int) C_ARRAY_LENGTH(PL_curlocales); i++) {
- PL_curlocales[i] = savepv("."); /* An illegal value */
+ PL_curlocales[i] = SAVEPV(proto_perl->Icurlocales[i]);
}
#endif
#ifdef USE_LOCALE_CTYPE
Copy(proto_perl->Ifold_locale, PL_fold_locale, 256, U8);
/* Should we warn if uses locale? */
PL_warn_locale = sv_dup_inc(proto_perl->Iwarn_locale, param);
- PL_in_utf8_CTYPE_locale = proto_perl->Iin_utf8_CTYPE_locale;
+ PL_utf8locale = proto_perl->Iutf8locale;
+ PL_in_utf8_CTYPE_locale = proto_perl->Iin_utf8_CTYPE_locale;
+ PL_in_utf8_turkic_locale = proto_perl->Iin_utf8_turkic_locale;
#endif
#ifdef USE_LOCALE_COLLATE