Branch: refs/heads/smoke-me/khw-env
Home: https://github.com/Perl/perl5
Commit: 3eb3477364345b47c02d88feef7454b554d3706a
https://github.com/Perl/perl5/commit/3eb3477364345b47c02d88feef7454b554d3706a
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t:
Fixes #21697.
On some platforms, a locale name is specified in the code page (or
code set) that applies to it, rather than plain ASCII. Windows, and
hence MingW, is the prime example.
The locale name for a particular Turkish variety found in MingW is
"Turkish_T?????.1254" where the question marks represent different
characters that have meaning in the 1254 code page, but would look like
mojibake if I had reproduced their actual values here.
When doing a setlocale() here, if the current code page is incompatible
with the new one, it will fail; if compatible it will succeed.
On my box running MingW, locales are tried out by this test file in
alphabetical order, and the one before this Turkish happens to be Thai,
with a code page of 874. Apparently 1254 is not compatible with 874, so
switching directly from Thai to Turkish fails.
The solution is to switch into a neutral code page before switching into
one being trialed. "C" works in this case, and I suspect in all others.
Commit: ef5894ec8590455b10be5c4e0210232047219c51
https://github.com/Perl/perl5/commit/ef5894ec8590455b10be5c4e0210232047219c51
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M charclass_invlists.h
M lib/unicore/Makefile
M lib/unicore/mktables
M lib/unicore/uni_keywords.pl
M regcharclass.h
M uni_keywords.h
Log Message:
-----------
mktables more verbose
Commit: 43993c24a0bf54ce6e28230f8a7ade4ad2861c2a
https://github.com/Perl/perl5/commit/43993c24a0bf54ce6e28230f8a7ade4ad2861c2a
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
Log Message:
-----------
BlackBox dont use rare scripts
Commit: 94f0435af2cd21c111f2e74e57c30c604a669f36
https://github.com/Perl/perl5/commit/94f0435af2cd21c111f2e74e57c30c604a669f36
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/harness
Log Message:
-----------
XXX t/harness temp tweaks
Commit: b73132bd0a2eca32668fc2b7b137a92698d295b6
https://github.com/Perl/perl5/commit/b73132bd0a2eca32668fc2b7b137a92698d295b6
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/harness
Log Message:
-----------
XXX skip croak.t under sanitizer
Commit: 59bb8bff87a7ddda366282bc171608a76b8b49e6
https://github.com/Perl/perl5/commit/59bb8bff87a7ddda366282bc171608a76b8b49e6
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/porting/bincompat.t
Log Message:
-----------
skip bincompat.t
Commit: 69e3c5a52fcdc7051220ab14202c267a35136e35
https://github.com/Perl/perl5/commit/69e3c5a52fcdc7051220ab14202c267a35136e35
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/porting/bincompat.t
Log Message:
-----------
Revert "skip bincompat.t"
This reverts commit 559abf36660fef3e16d1cd33dc5aa6ca2202b88c.
Commit: 8b8452c74702bca19db4622402e11dbf2c0237b4
https://github.com/Perl/perl5/commit/8b8452c74702bca19db4622402e11dbf2c0237b4
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/TEST
Log Message:
-----------
Skip cpan testing message
Commit: b50b199261044ec7b5f9430c603ead9e5e6553af
https://github.com/Perl/perl5/commit/b50b199261044ec7b5f9430c603ead9e5e6553af
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
runconfigure: only usequery with that directory
Commit: 7d10512d40091b9510acde916698924a26ff77a7
https://github.com/Perl/perl5/commit/7d10512d40091b9510acde916698924a26ff77a7
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/TEST
Log Message:
-----------
Also skip non-thread dist testing
Commit: 4af12bc3793632551711ab3f8d35662fb9ab1c28
https://github.com/Perl/perl5/commit/4af12bc3793632551711ab3f8d35662fb9ab1c28
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Archive-Tar/t/02_methods.t
Log Message:
-----------
XXX skip Archive-Tar because of symlinks
Commit: c8e1f815ae29360c682a0b2bdcde57653b5b6c08
https://github.com/Perl/perl5/commit/c8e1f815ae29360c682a0b2bdcde57653b5b6c08
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/porting/cmp_version.t
Log Message:
-----------
XXX skip cmp_version.t because of sym links
Commit: b79de4e5743de19502905df375733dad1a1a8e77
https://github.com/Perl/perl5/commit/b79de4e5743de19502905df375733dad1a1a8e77
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Sys-Syslog/t/syslog-inet-udp.t
M cpan/Sys-Syslog/t/syslog.t
Log Message:
-----------
XXX skip syslog tests because fail without LC_TIME
Commit: 43283aec7e8e5ff9ff29ffd576d4f9aaf4398045
https://github.com/Perl/perl5/commit/43283aec7e8e5ff9ff29ffd576d4f9aaf4398045
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M dist/Tie-File/t/29a_upcopy.t
Log Message:
-----------
up timeout for dist/Tie-File/t/29a_upcopy.t
Commit: b21c7b91381c4b88cc87482c37c76d9a8708ca44
https://github.com/Perl/perl5/commit/b21c7b91381c4b88cc87482c37c76d9a8708ca44
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M MANIFEST
A t/uni/idstart.pl
A t/uni/idstart00.t
A t/uni/idstart01.t
A t/uni/idstart02.t
A t/uni/idstart03.t
A t/uni/idstart04.t
A t/uni/idstart05.t
A t/uni/idstart06.t
A t/uni/idstart07.t
A t/uni/idstart08.t
A t/uni/idstart09.t
A t/uni/idstart10.t
A t/uni/idstart11.t
A t/uni/idstart12.t
A t/uni/idstart13.t
A t/uni/idstart14.t
A t/uni/idstart15.t
A t/uni/idstart16.t
A t/uni/idstart17.t
A t/uni/idstart18.t
A t/uni/idstart19.t
A t/uni/idstart20.t
A t/uni/idstart21.t
A t/uni/idstart22.t
A t/uni/idstart23.t
M t/uni/variables.t
Log Message:
-----------
Split t/uni/variables.t into multiple tests
These can be done in parallel; otherwise this is often the test that
finishes last, holding up the test suite completion.
Commit: 93f542c7e717c8df6134fa7412dab8889d60513d
https://github.com/Perl/perl5/commit/93f542c7e717c8df6134fa7412dab8889d60513d
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
run/locale.t: more debug
Commit: d0ac3ccce79afa7b21284f8625831e9f57b070a4
https://github.com/Perl/perl5/commit/d0ac3ccce79afa7b21284f8625831e9f57b070a4
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M MANIFEST
M charclass_invlists.h
M lib/unicore/mktables
M lib/unicore/uni_keywords.pl
M regcharclass.h
A t/re/uniprops11.t
A t/re/uniprops12.t
A t/re/uniprops13.t
A t/re/uniprops14.t
A t/re/uniprops15.t
A t/re/uniprops16.t
A t/re/uniprops17.t
A t/re/uniprops18.t
A t/re/uniprops19.t
A t/re/uniprops20.t
A t/re/uniprops21.t
A t/re/uniprops22.t
A t/re/uniprops23.t
A t/re/uniprops24.t
M uni_keywords.h
Log Message:
-----------
Make 24 uniprops.t tests
Commit: 5f65aafe17246bca97f5e0e9d68d512ac2a5d6f5
https://github.com/Perl/perl5/commit/5f65aafe17246bca97f5e0e9d68d512ac2a5d6f5
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
XXX temp to test broken lconv on non-Windows
Commit: 246fc5e57cd82c988a49371a1e320d51d5009164
https://github.com/Perl/perl5/commit/246fc5e57cd82c988a49371a1e320d51d5009164
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
XXX run/locale.t: maybe f move test
Commit: cbc35fae4e265298d08d9c8e24c8d3d1b056017a
https://github.com/Perl/perl5/commit/cbc35fae4e265298d08d9c8e24c8d3d1b056017a
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
M t/porting/customized.dat
Log Message:
-----------
version::07locale.t: Use I18N::Langinfo, not POSIX::localeconv()
The former is always present; the latter might not be.
Commit: 93417a85149d7adeebaaf4aa944f0d243a0fa909
https://github.com/Perl/perl5/commit/93417a85149d7adeebaaf4aa944f0d243a0fa909
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/porting/cmp_version.t
Log Message:
-----------
XXX skip cmp_version.t prob. due to 5.38 tag issue
Commit: 8fdda119f0352c2dc310cad0c7252de5f8d3a10f
https://github.com/Perl/perl5/commit/8fdda119f0352c2dc310cad0c7252de5f8d3a10f
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
M t/porting/customized.dat
Log Message:
-----------
version 07locale.t should use LC_NUMERIC, not ALL
These outliers don't belong. This file is working on LC_NUMERIC only.
Commit: 663bd3aaaf4eec7af604ef98ab86ad341c8ac200
https://github.com/Perl/perl5/commit/663bd3aaaf4eec7af604ef98ab86ad341c8ac200
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M makedef.pl
M perl.h
Log Message:
-----------
XXX temporary: Allow undef LC_ALL
Commit: e532dc8b85346b52de8ea4a3a6ca336f58a86017
https://github.com/Perl/perl5/commit/e532dc8b85346b52de8ea4a3a6ca336f58a86017
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Fake up win32 compile a bit
Commit: c0e695d26f768ffdd8bb5fb39676017da5aea07b
https://github.com/Perl/perl5/commit/c0e695d26f768ffdd8bb5fb39676017da5aea07b
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M sv.c
Log Message:
-----------
newSVbool(): Fix compiler warning
The parameter was declared const in embed.fnc, but not in the function
prototype
Commit: 167df2936a63442f560ed6542506cf241d4324b6
https://github.com/Perl/perl5/commit/167df2936a63442f560ed6542506cf241d4324b6
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
Log Message:
-----------
regnode_after(): Fix compiler warning
A parameter to this function was declared const in its prototype but not
in embed.fnc.
Commit: 291b1f45ce40892c687bf990474a995a611189d2
https://github.com/Perl/perl5/commit/291b1f45ce40892c687bf990474a995a611189d2
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
M utf8.c
Log Message:
-----------
uvoffuni_to_utf8_flags_msgs(): Fix compiler warning
A parameter to this function was declared const in embed.fnc, but isn't
const.
This commit also adds a const to another parameter that is constant.
Commit: 296c66aacf66607fa6e269a33efbe7137c4e4889
https://github.com/Perl/perl5/commit/296c66aacf66607fa6e269a33efbe7137c4e4889
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
Log Message:
-----------
S_clear_placeholders(): Fix compiler warning
A parameter to this function was declared const in its prototype but not
in embed.fnc, and had a different name
Commit: d0d973943d55e5705ec4af819679da75c08b3750
https://github.com/Perl/perl5/commit/d0d973943d55e5705ec4af819679da75c08b3750
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M proto.h
M util.c
Log Message:
-----------
XXX memlog
Commit: e79e6bed5e0c1dc9e14c6e385aa6d743e5d935ba
https://github.com/Perl/perl5/commit/e79e6bed5e0c1dc9e14c6e385aa6d743e5d935ba
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
M t/run/switchDx.t
Log Message:
-----------
debug thread
Commit: d21831a651dadb25d042e7c4a299565b969382b8
https://github.com/Perl/perl5/commit/d21831a651dadb25d042e7c4a299565b969382b8
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M dist/threads/threads.xs
Log Message:
-----------
threads.xs DEBUG_U
Commit: af390e4de927897a961079a49bd78e33e91ad716
https://github.com/Perl/perl5/commit/af390e4de927897a961079a49bd78e33e91ad716
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
XXX temp: lib/locale.t: debug
Commit: b7c6c96ee7a81a2309fc81424fe42f4d6e8fd37e
https://github.com/Perl/perl5/commit/b7c6c96ee7a81a2309fc81424fe42f4d6e8fd37e
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t FILE debug
Commit: ec7b6b1102068228dc6d00b63289192f998133b8
https://github.com/Perl/perl5/commit/ec7b6b1102068228dc6d00b63289192f998133b8
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale.t
Log Message:
-----------
lib/locale.t
Commit: 55b99f2ce56150666e18e0837e6f48b718756b02
https://github.com/Perl/perl5/commit/55b99f2ce56150666e18e0837e6f48b718756b02
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
XXX perl.h: Debugging mutex lock'
Commit: a2af25af3427adcb912a8ebe87a15727b588cbbe
https://github.com/Perl/perl5/commit/a2af25af3427adcb912a8ebe87a15727b588cbbe
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
M t/porting/customized.dat
Log Message:
-----------
07locale.t: Add some Windows locales to try
On various windows machines, none of the locales listed in <DATA> exist.
This commit copies ones from core's loc_tools.pl to give additional
possibilities to try
Commit: 9990e0c0346d6e8d4b8bb484738dc77e45aa864f
https://github.com/Perl/perl5/commit/9990e0c0346d6e8d4b8bb484738dc77e45aa864f
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/version/t/07locale.t
Log Message:
-----------
cpan/version/07locale.t: drop, bug have to recompute md5
Commit: bc6fa1e06c203241060a57dadc5e276beb73dc4e
https://github.com/Perl/perl5/commit/bc6fa1e06c203241060a57dadc5e276beb73dc4e
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/porting/customized.dat
Log Message:
-----------
customized.dat
Commit: f3998163981a833c2b403fc97377e09724386c32
https://github.com/Perl/perl5/commit/f3998163981a833c2b403fc97377e09724386c32
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
loc_tools: XXX Debug
Commit: 34e58f6c2c4c75900633dad6c564f2a167968316
https://github.com/Perl/perl5/commit/34e58f6c2c4c75900633dad6c564f2a167968316
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
S_querylocale_2008_i: Add entry assertion
Commit: 517a41f557ef8daa0714f16f42d938e316283d85
https://github.com/Perl/perl5/commit/517a41f557ef8daa0714f16f42d938e316283d85
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
S_bool_setlocale_i: Add entry assertion
Commit: 8fae6c7648a61a5bec96b26825de9a645e3560e2
https://github.com/Perl/perl5/commit/8fae6c7648a61a5bec96b26825de9a645e3560e2
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
savepv if threaded, unused I think
Commit: 44d24b8a405b7a0a44b7c510469140f20ef1c675
https://github.com/Perl/perl5/commit/44d24b8a405b7a0a44b7c510469140f20ef1c675
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M hints/darwin.sh
Log Message:
-----------
darwin hints querylocale race in earlier darwins?
Commit: eef8588242c37e4d0f11e1f009265747bd93afab
https://github.com/Perl/perl5/commit/eef8588242c37e4d0f11e1f009265747bd93afab
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pp.c
Log Message:
-----------
pp_study: Add memory use debugging
Commit: 724ce4ed2dd3a3ed82e41e1ca27ae8d5327e3428
https://github.com/Perl/perl5/commit/724ce4ed2dd3a3ed82e41e1ca27ae8d5327e3428
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pp.c
Log Message:
-----------
Revert "pp_study: Add memory use debugging"
Commit: 01d5a10508dce87dd41b51aea2d0fad4fe5d9ffc
https://github.com/Perl/perl5/commit/01d5a10508dce87dd41b51aea2d0fad4fe5d9ffc
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M hints/darwin.sh
Log Message:
-----------
darwin
Commit: 86ce92a1938908a7e6c439eb800278f82287dca4
https://github.com/Perl/perl5/commit/86ce92a1938908a7e6c439eb800278f82287dca4
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M hints/freebsd.sh
Log Message:
-----------
Enable thread-safe locales on some freebsd versions
This had been disabled in the hints file due to bugs, which perl now
works around, so reenable (and reformat some lines for clarity)
Commit: b1f56b1a7bbb1ba37a2da2ece8070d2a3a7039cc
https://github.com/Perl/perl5/commit/b1f56b1a7bbb1ba37a2da2ece8070d2a3a7039cc
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
t/run/locale.t: debug
Commit: 1cf4d472b4e780038e2119af17af15bc91f3d552
https://github.com/Perl/perl5/commit/1cf4d472b4e780038e2119af17af15bc91f3d552
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
locale_threads: add a commented out yield
Commit: 34444f4eee94714e123a3c441517433303c100dc
https://github.com/Perl/perl5/commit/34444f4eee94714e123a3c441517433303c100dc
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
locale_threads: debugging
Commit: dca0ff9496c58598568809b0913bb4f8faf6ff17
https://github.com/Perl/perl5/commit/dca0ff9496c58598568809b0913bb4f8faf6ff17
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time::Piece: Use reentrant API
This single line magically makes this work much better under threading,
though critical section locks need to be added as well.
Commit: 9300143c0cf5d11bc5d879ed04c701aa0c26ee65
https://github.com/Perl/perl5/commit/9300143c0cf5d11bc5d879ed04c701aa0c26ee65
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: Use foldEQ_locale() if available
This core function available since 5.13.2 is thread-safe and knows about
Perl internals, so is preferable to the similar libc function, which is
now used only as a fallback. This commit also bomb proofs the code by
adding an additional fallback, specified in C89, which isn't a great
substitute, but far better than nothing.
Commit: c7c83325723930216c5f26b833dfbab4850fa946
https://github.com/Perl/perl5/commit/c7c83325723930216c5f26b833dfbab4850fa946
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: Use isSPACE_LC, not isspace; etc
isDIGIT_LC() does the same thing as isdigit when everything goes well,
but is more robust when things get more complicated. The _LC forms are
thread safe, for example.
But note that this code doesn't work properly for a UTF-8 locale, as it
assumes that a byte and character are the same thing. A major overhaul
would be needed to handle that.
Commit: e74f9d65c2f754838211351f5474d38c7bdeaf03
https://github.com/Perl/perl5/commit/e74f9d65c2f754838211351f5474d38c7bdeaf03
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M thread.h
Log Message:
-----------
thread.h: White space only
Indent some nested preproccessor defines
Commit: 0af8a2c75206d73b31714a46b8613a3f7b65618c
https://github.com/Perl/perl5/commit/0af8a2c75206d73b31714a46b8613a3f7b65618c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.pm
M cpan/Time-Piece/Piece.xs
M cpan/Time-Piece/Seconds.pm
M dist/Module-CoreList/lib/Module/CoreList.pm
Log Message:
-----------
Time::Piece: Add critical sections
This calls various macros to make certain libc calls uninterruptible, so
that they can be used safely in threaded applications, when this module
is loaded with a perl that supports this.
The macros are defined to do nothing if the perl doesn't contain working
versions of them. In such perls, the macros are also defined to do
nothing except on configurations that could have races.
Typically, an extra problem is that the libc calls return in a global
static buffer, subject to being overwritten by another thread. But an
earlier commit defined PERL_REENTRANT, which makes those functions
transparently return in a thread-local buffer instead. That doesn't
help if the function gets interrupted by another thread; this commit
completes the process.
Commit: 92e9c24f2f46c14f8a012355294a8a88d4a53969
https://github.com/Perl/perl5/commit/92e9c24f2f46c14f8a012355294a8a88d4a53969
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
XXX Time::Piece strftime
Commit: 7896bb0bcbe4bd0b78f723a9c6e6b9c9c6abb929
https://github.com/Perl/perl5/commit/7896bb0bcbe4bd0b78f723a9c6e6b9c9c6abb929
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M cpan/Time-Piece/Piece.xs
Log Message:
-----------
Time-Piece: notes to myself
Commit: d3b45a66b848165b1901ab94d47216b78e00920a
https://github.com/Perl/perl5/commit/d3b45a66b848165b1901ab94d47216b78e00920a
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M util.c
M win32/perlhost.h
Log Message:
-----------
XXX Win32 mem log
Commit: 454b5e5231a89a9296783b8a05e2e48afde5b370
https://github.com/Perl/perl5/commit/454b5e5231a89a9296783b8a05e2e48afde5b370
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M util.c
Log Message:
-----------
XXX util add thread to mem_log
Commit: 1d3065fb2176f5c30a99f8d22ff65b6151f83149
https://github.com/Perl/perl5/commit/1d3065fb2176f5c30a99f8d22ff65b6151f83149
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Debug wrap wset
Commit: 3354d901862e94648346264d85e653b56635eed2
https://github.com/Perl/perl5/commit/3354d901862e94648346264d85e653b56635eed2
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pod/perlhacktips.pod
Log Message:
-----------
XXX incomplete perlhacktips:
Commit: 920eaffbf698a1d2fbef4dd5cf8d3cfb0fb3924e
https://github.com/Perl/perl5/commit/920eaffbf698a1d2fbef4dd5cf8d3cfb0fb3924e
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M iperlsys.h
Log Message:
-----------
iperlsys.h: TODO need to look at adding mutexes
Commit: c24f87e6146d1863b2d7fc98518db218a7114922
https://github.com/Perl/perl5/commit/c24f87e6146d1863b2d7fc98518db218a7114922
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M regen/reentr.pl
Log Message:
-----------
reentr.pl: XXX about needing mutex
Commit: 45b008fcffb3b4098f55905a2e0ea4c8bc2e18e7
https://github.com/Perl/perl5/commit/45b008fcffb3b4098f55905a2e0ea4c8bc2e18e7
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M dist/ExtUtils-ParseXS/lib/perlxs.pod
M pod/perlembed.pod
M pod/perlhacktips.pod
M pod/perllocale.pod
M t/porting/known_pod_issues.dat
Log Message:
-----------
perlxs
Commit: c55dc19cb4cdf31fee780b9d7a2abaaa86546757
https://github.com/Perl/perl5/commit/c55dc19cb4cdf31fee780b9d7a2abaaa86546757
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pod/perlmod.pod
Log Message:
-----------
perlmod
Commit: 6a8240cf08dee7465dc5cf5172865c73c5591c91
https://github.com/Perl/perl5/commit/6a8240cf08dee7465dc5cf5172865c73c5591c91
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pod/perllocale.pod
Log Message:
-----------
perllocale Xxx start of changes
Commit: ee6f38753ab428b77eb71164566b6e05a89de4fb
https://github.com/Perl/perl5/commit/ee6f38753ab428b77eb71164566b6e05a89de4fb
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M win32/config_H.gc
M win32/config_h.PL
M win32/config_sh.PL
Log Message:
-----------
XXX config
Commit: 8c14f9df8989f4b42945d7db6737dc236f8ba38c
https://github.com/Perl/perl5/commit/8c14f9df8989f4b42945d7db6737dc236f8ba38c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pod/perlembed.pod
Log Message:
-----------
f perlembed
Commit: 63f9efb171873d50f895eb2aa913fdb467bb8af5
https://github.com/Perl/perl5/commit/63f9efb171873d50f895eb2aa913fdb467bb8af5
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M intrpvar.h
M locale.c
M perl.h
Log Message:
-----------
Fixup FAKE_MINGW
This is used (by me) to partially emulate MingW on a *nix platform. It
was passing all its tests, but I discovered that I had the wrong #if
which was hence not enabling crucial parts of the emulation.
Commit: f705ead3f2c9a58a747f2006448041f55ee35c84
https://github.com/Perl/perl5/commit/f705ead3f2c9a58a747f2006448041f55ee35c84
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
locale_threads: start of using platform locales
Commit: 9f24d16e15b067681cced35ad61828f102ab63d7
https://github.com/Perl/perl5/commit/9f24d16e15b067681cced35ad61828f102ab63d7
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
Revert "locale_threads: start of using platform locales"
This reverts commit a7a8dea3aabb81a05aacaf3a26c49854a5854111.
Commit: ff990f2bc1a98fa3db266b7669e24a5b25017c70
https://github.com/Perl/perl5/commit/ff990f2bc1a98fa3db266b7669e24a5b25017c70
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
M perl.c
M sv.c
Log Message:
-----------
define numeric values to be C when no USE_NUMERIC
Commit: 224b42f09468ab30b263307af8555ac4225ac733
https://github.com/Perl/perl5/commit/224b42f09468ab30b263307af8555ac4225ac733
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
M perl.c
M sv.c
Log Message:
-----------
Revert "define numeric values to be C when no USE_NUMERIC"
This reverts commit 9bb7ff6531bf9e28d635a71e6d55c752a995da2d.
Commit: 06546e526cf57eca8ed9d28b6203f029c73cf5c1
https://github.com/Perl/perl5/commit/06546e526cf57eca8ed9d28b6203f029c73cf5c1
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Add #define to separate label from declaration
This is designed to be mostly self-documenting.
Commit: 1168d246c542f928573fb276f77e59de4b59a0a7
https://github.com/Perl/perl5/commit/1168d246c542f928573fb276f77e59de4b59a0a7
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pp.c
Log Message:
-----------
pp_study: hook
Commit: 10c8a1bfd08b4179734b4c643c5d2f332a27d98a
https://github.com/Perl/perl5/commit/10c8a1bfd08b4179734b4c643c5d2f332a27d98a
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
rulereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Commit: 0b2333c6376360ee4c9a8ddd6790474525d2db2b
https://github.com/Perl/perl5/commit/0b2333c6376360ee4c9a8ddd6790474525d2db2b
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M embedvar.h
M handy.h
M inline.h
M intrpvar.h
M locale.c
M makedef.pl
M mg.c
M perl.c
M perl.h
M pod/perlvar.pod
M proto.h
M sv.c
Log Message:
-----------
Add ability to emulate thread-safe locale operations
Locale information was originally global for an entire process. Later,
it was realized that different threads could want to be running in
different locales. Windows added this ability, and POSIX 2008 followed
suit (though using a completely different API). When available, perl
automatically uses these capabilities.
But many platforms have neither, or their implementation, such as on
Darwin, is buggy. This commit adds the capability for Perl programs to
operate as if the platform were thread-safe.
This implementation is based on the observation that the underlying
locale matters only to relatively few libc calls, and only during their
execution. It can be anything at all at any other time. perl keeps
what the proper locale should be for each category in a a per-thread
array. Each locale-dependent operation must be wrapped in mutex
lock/unlock operations. The lock additionally compares what libc knows
the locale to be, and what it should be for this thread at this time,
and changes the actual locale to the proper value if necessary. That's
all that is needed.
This commit adds macros to perl.h, for example "MBTOWC_LOCK_", that
expand to do the mutex lock, and change the global locale to the
expected value. On perls built without this emulation capability, they
are no-ops. All code in the perl core (unless I've missed something),
are changed to use these macros (there weren't actually many places that
needed this). Thus, any pure perl program will automatically become
locale-thread-safe under this Configuration.
In order for XS code to also become locale-thread-safe, it must use
these macros to wrap calls to locale-dependent functions. Relatively
few modules call such functions. For example, the only one I found that
ships with the perl core is Time::Piece, and it has more fundamental
issues with running under threads than this. I am preparing pull
requests for it.
Thus, this is not completely transparent to code like native-thread-safe
locale handling is. Therefore ${^SAFE_LOCALES} returns 2 (instead of 1)
for this type of thread-safety.
Another deficiency compared to the native thread safety is when a thread
calls a non-perl library that accesses the locale. The typical example is
Gtk (though this particular application can be configured to not be
problematic). With the native safe threads, everything works as long as
only one such thread is used per Perl program. That thread would then
be the only one operating in the global locale, hence there are no
conflicts. With this emulation, all threads are operating in the global
locale, and mutexes would have to be used to prevent conflicts. To
minimize those, the code added in this commit restores the global locale
when through to the state it was in when started.
A major concern is the performance impact. This is after all trading
speed for accuracy. lib/locale_threads.t is noticeably slower when this
is being used. But that is doing multiple threads constantly using
locale-dependent operations. I don't notice any change with the rest of
the test suite. In pure perl, this only comes into play while in the
scope of 'use locale' or when using some of the few POSIX:: functions
that are locale-dependent. And to some extent when formatting, but the
regular overhead there should dwarf what this adds.
This commit leaves this feature off by default. The next commit changes
that for the next few 5.39 development releases, so we can see if there
is actually an issue.
Commit: 8c1c74aade0e6ba462365725cf2c8706a5555363
https://github.com/Perl/perl5/commit/8c1c74aade0e6ba462365725cf2c8706a5555363
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
maybe emul
Commit: 40a2461493518bd18a30c26bab49bd2214039c43
https://github.com/Perl/perl5/commit/40a2461493518bd18a30c26bab49bd2214039c43
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embedvar.h
M intrpvar.h
M locale.c
M makedef.pl
M sv.c
Log Message:
-----------
more maybe
Commit: 4aa8ee87638bc5304bf5235235670a42d42f1300
https://github.com/Perl/perl5/commit/4aa8ee87638bc5304bf5235235670a42d42f1300
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
locale.c: Silence compiler warning
This tightens when this function is compiled to the actual
Configurations it is needed in.
Commit: c6ccfec74b056bba55851736307bb7f2e556745f
https://github.com/Perl/perl5/commit/c6ccfec74b056bba55851736307bb7f2e556745f
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
C_thous better ifdef
Commit: e83fcd5bdb29f433c62d72a71bec89f699378f1b
https://github.com/Perl/perl5/commit/e83fcd5bdb29f433c62d72a71bec89f699378f1b
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M ext/POSIX/t/posix.t
M ext/POSIX/t/time.t
M ext/XS-APItest/t/locale.t
M lib/locale.t
M lib/locale_threads.t
Log Message:
-----------
skip tests if no strftime
Commit: f8a5866d41574a9ee3776ecc06eba31906550358
https://github.com/Perl/perl5/commit/f8a5866d41574a9ee3776ecc06eba31906550358
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/loc_tools.pl
Log Message:
-----------
loctools use if dumper
Commit: 82bef432619841cf82b0cbc2b7082dbf05ec0a43
https://github.com/Perl/perl5/commit/82bef432619841cf82b0cbc2b7082dbf05ec0a43
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M ext/POSIX/lib/POSIX.pod
Log Message:
-----------
start of pod for localeconv
Commit: 288381bc92fd9038fde460c231466abf09b4cd3c
https://github.com/Perl/perl5/commit/288381bc92fd9038fde460c231466abf09b4cd3c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Add struct definition as a fallback
If we ever encountered a platform that didn't have localeconv(), nor its
structure definition, this could be used to get things to work.
Commit: da52b46f2e6b8185fbfa1e79eb09e3e8c62d5556
https://github.com/Perl/perl5/commit/da52b46f2e6b8185fbfa1e79eb09e3e8c62d5556
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
debug populate localeconv
Commit: 8c21c9f9193443974ab909a08e0fbf924c621e1d
https://github.com/Perl/perl5/commit/8c21c9f9193443974ab909a08e0fbf924c621e1d
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M dist/threads/threads.xs
Log Message:
-----------
debug thread xs
Commit: 8cd0695f671be89b349049371d9bf50a314b1bd4
https://github.com/Perl/perl5/commit/8cd0695f671be89b349049371d9bf50a314b1bd4
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
lib/locale_threads.t: Add debugging info
Commit: 611b4a1ef54d9798d9748687d10658c8a2f60aea
https://github.com/Perl/perl5/commit/611b4a1ef54d9798d9748687d10658c8a2f60aea
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M proto.h
M sv.c
Log Message:
-----------
Add newSVpvz() to create a sized SvPV.
There's no current trivial method to create a non-zero length SV that
will hold a PV.
Commit: 9486b414c1233c2349a89ab52ffe46439503cb91
https://github.com/Perl/perl5/commit/9486b414c1233c2349a89ab52ffe46439503cb91
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Call newSVpvz()
Commit: 3f245ee1115d28dd29f8fb8fea4ff657741ff81c
https://github.com/Perl/perl5/commit/3f245ee1115d28dd29f8fb8fea4ff657741ff81c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Shorten critical section times
Toggling a category's locale has a cost, so if there are a bunch of
operations that are going to be done in a row in a particular toggled
state, it makes sense to toggle once, do them all, then toggle back.
Most of the toggling in this file is short term, but there are a few
places where it is advantageous to toggle once.
But on some Configurations, toggling creates a critical, uninterruptible
section. For these, keeping the amount of time spent in such a state
without letting other threads execute needs to be as short as feasible,
and this outweighs the cost of toggling and retoggling.
This commit balances these competing needs by creating new macros for
those cases where we want to have an overarching toggle. Those macros
become no-ops when the toggling creates an uninterruptible section.
Thus, when there is a cost to remaining toggled for longer periods,
those macros don't do anything, and the macros that are at the point of
the actual need are the ones that do the toggling/retoggling. In the
Configurations where there isn't such a cost, the overarching macros
kick in, and the shorter-term ones find that the state is already
toggled, and they return without doing anything.
Commit: d812cc830ffedc42d2c76ef7560494a2f79572a7
https://github.com/Perl/perl5/commit/d812cc830ffedc42d2c76ef7560494a2f79572a7
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
Add DEBUG_SETLOCALE_INCONSISTENCIES
Commit: e3d3dc53e29624f092424b4c8998704c09a2de3c
https://github.com/Perl/perl5/commit/e3d3dc53e29624f092424b4c8998704c09a2de3c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
Enable DEBUG_SETLOCALE_INCONSISTENCIES
Commit: 2fe0399d60648513fbec5a47029acf8a83ab9c74
https://github.com/Perl/perl5/commit/2fe0399d60648513fbec5a47029acf8a83ab9c74
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Make numeric standard inconsistent
Commit: f4109837c0858b8bbb7827f52ab199c075908c25
https://github.com/Perl/perl5/commit/f4109837c0858b8bbb7827f52ab199c075908c25
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
M makedef.pl
M perl.h
Log Message:
-----------
Experimentally enable per-thread locale emulation
This is set to end in 5.39.10, but will give us field experience in the
meantime.
Commit: cc1479123718871f87ab11a278ac4727137581d8
https://github.com/Perl/perl5/commit/cc1479123718871f87ab11a278ac4727137581d8
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M makedef.pl
M perl.h
Log Message:
-----------
Don't do thread-safe locales emulation on mingw
MingW when compiled with the Universal C runtime (UCRT) is thread-safe
with respect to locales, just as VS 2015 and later MSVCRT compilations
are.
However, versions not using UCRT cannot be compiled to emulate
thread-safe locale. I'm pretty sure this is due to a bug in the libc
strftime() function, having spent a bunch of hours working on this.
It often fails lib/locale_threads.t when using the emulation, but not
always. The failure is always in strftime().
What made me think it could be perl is another characteristic of the
failures. lib/locale_threads.t works by, in each thread, setting each
available locale category to a locale, different from any other category
in that thread, and as different as possible from the locale for the
corresponding category in any other thread. For example thread 0 might
have LC_CTYPE set to locale X, LC_NUMERIC to Y, LC_TIME to Z, etc.
Thread 1 would use a locale for LC_CTYPE, as different from X as
possible, meaning executing the same operation on thread 0 and thread 1
would yield different expected results. (It goes to some lengths to
calculate the biggest distance in the results.) Similarly LC_NUMERIC
would have something almost completely different from Y; and so on.
Then each thread executes a batch of iterations. Each iteration runs
all the operations I could find that perl uses that apply to LC_TYPE,
and all the ones that apply to each of the other categories. And
verifies that all the results are as expected.
Simultaneously, the other threads are executing their batch. It is
verifying that there is no bleed-through from one thread to another. If
the threads all have the same results as the other threads, we couldn't
detect if there is real bleed-through or not. This is solved by making
the results for each category as different as possible from any other
thread currently executing.
However, this isn't good enough. Every so many iterations, each thread
changes to use a new set of locales. This verifies that the locales can
be changed in a thread without that bleeding through to other threads.
And thread 0 is special. It harvests the other threads as they finish,
and keeps going for a while. This is to catch bugs in thread
completion, of which we've had a few.
MingW's failures all occur, when they occur, on the first iteration
following a switch to a new set of locales. That is suspiciously like
it is a race condition in cleaning up from the previous setting. But it
isn't the first test of the set of the first iteration of the next set.
It can be the 10th or so test. I added enough debugging statements to
convince me that it isn't perl.
This is the failing code in locale.c:
STRFTIME_LOCK;
int len = strftime(buf, bufsize, fmt, mytm);
STRFTIME_UNLOCK;
The returned 'buf' is not always correct.
T
The LOCK/UNLOCK macros on MingW with thread-safe emulation enabled, call
EnterCriticalSection(), and set the locales for the categories that
affect strftime() to the proper locale. Just to be sure. I tested
setting LC_ALL to the correct value. While in its uninterruptible (by
other locale handling code anyway) section, strftime() fills buf with
the result for the current locale (which STRFTIME_LOCK has set).
I added print statements within the critical section thusly
STRFTIME_LOCK;
DEBUG_U(PerlIO_printf(Perl_debug_log,
"calling strftime(%s), LC_ALL=%s\n",
fmt, setlocale(LC_ALL, NULL)));
int len = strftime(buf, bufsize, fmt, mytm);
DEBUG_U(PerlIO_printf(Perl_debug_log,
"return=%s, LC_ALL=%s\n",
buf, setlocale(LC_ALL, NULL)));
STRFTIME_UNLOCK;
On this platform, setlocale() expands to _wsetlocale(), a Windows libc
call.
Here's what they showed for one failure.
calling strftime(%b), LC_ALL=Hungarian_Hungary.1250
return=marc., LC_ALL=Hungarian_Hungary.1250
The 'a' in the Hungarian for March is supposed to be a U+00E1, with an
acute accent, so this is wrong.
strftime() also is passed a pointer to a struct tm, which is filled in
with various integers which indicate in this case which month the %b is
supposed to return. That it is returning something very much like márch
indicates those integers are correct.
Not shown in the example above are the other prints I added to verify
that we are indeed in a critical section. I didn't see a way to
actually test for this via a libc call, but one could use strace and
wade through the output. But there are print statements that print out
immediately before entering a critical section, and immediately after
leaving it. I verified that those prints indicate this code is in a
critical section.
I note that this box has actually not very many locales, so that the
distance between the results of various threads isn't all that large.
Pretty much all the locales are CP 1250, 1251, 1252, and 1257, and no
UTF-8 ones, so all locales are single byte. None of them map \XE1 into
plain 'a', which is what we are seeing returned, so the cleanup theory
seems wrong. Sometimes the return is '?' or a series of them,
indicating that the returned character is mojibake.
None of the locales I saw had 'marc\.' as a possible return. It appears
only here in the entire trace of all threads. This makes it again less
likely that it is a cleanup issue. But where did it come from?. I
don't know. The value for the C locale is 'Mar', so it didn't come from
there.
The localeconv() function is also broken in this Configuration. We long
ago figured out a workaround for that. I tried that same workaround for
strftime(), and it didn't help.
Commit: 10ad73d871945ccdcbc142b7da1f35e9db87d96c
https://github.com/Perl/perl5/commit/10ad73d871945ccdcbc142b7da1f35e9db87d96c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
femul
Commit: 2cf7106315bec7d3f0d5cf3e26625d73e97a184a
https://github.com/Perl/perl5/commit/2cf7106315bec7d3f0d5cf3e26625d73e97a184a
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
DEBUG Lv to U
Commit: 62d565799055e3041521ff5b3906b7286f55c990
https://github.com/Perl/perl5/commit/62d565799055e3041521ff5b3906b7286f55c990
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
extra debug
Commit: 4acc3625ece97109c7fbf406555b4f49121ef1bb
https://github.com/Perl/perl5/commit/4acc3625ece97109c7fbf406555b4f49121ef1bb
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
more emul locks
Commit: 22985263dc8d671307eab10850d40deaa4dd521a
https://github.com/Perl/perl5/commit/22985263dc8d671307eab10850d40deaa4dd521a
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "more emul locks"
This reverts commit 4733a1674423ee47b33eb0ee1882e1bf39faa1a6.
Commit: b6241d5746edc8fe79877b60b9a67d74b7f21a38
https://github.com/Perl/perl5/commit/b6241d5746edc8fe79877b60b9a67d74b7f21a38
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
langinfo lock
Commit: e879cd0d01e8cbf8f8b5dd9827a2d3e962e83500
https://github.com/Perl/perl5/commit/e879cd0d01e8cbf8f8b5dd9827a2d3e962e83500
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "langinfo lock"
This reverts commit acaff35d7ed83830fb36c149aafede5cdf400061.
Commit: 0a7feff49ef35c9706f51506c3c53915d9a3106e
https://github.com/Perl/perl5/commit/0a7feff49ef35c9706f51506c3c53915d9a3106e
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
lock mask
Commit: 440c1a4d65652d314b50451c21c3e8feffc470a2
https://github.com/Perl/perl5/commit/440c1a4d65652d314b50451c21c3e8feffc470a2
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "lock mask"
This reverts commit 3fd528c9d5d5b9c05dc1c697e61570b81811fb95.
Commit: c612e1a20e5a18f708c40b262f41fbb7a0039f25
https://github.com/Perl/perl5/commit/c612e1a20e5a18f708c40b262f41fbb7a0039f25
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Maybe comment'
Commit: 354faaf5bcdfa121599826c0ee8ee7b90399186d
https://github.com/Perl/perl5/commit/354faaf5bcdfa121599826c0ee8ee7b90399186d
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
XXX perl.h maybe drop
Commit: 6a0c0299993de2bba30e5d89eb5dea240ecbb1cf
https://github.com/Perl/perl5/commit/6a0c0299993de2bba30e5d89eb5dea240ecbb1cf
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lib/locale_threads.t
Log Message:
-----------
Revert "locale_threads.t: Skip on OpenBSD and DragonFly threaded builds"
This reverts commit 1d74e8214dd53cf0fa9e8c5aab3e6187685eadcd, as they
have been modified
Commit: 304c6f719da720adefc05bd57d16a0e97d4af8ab
https://github.com/Perl/perl5/commit/304c6f719da720adefc05bd57d16a0e97d4af8ab
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Debug uselocale
Commit: 00189c6ee6b948eaf8ce6957cb211c3ee5637363
https://github.com/Perl/perl5/commit/00189c6ee6b948eaf8ce6957cb211c3ee5637363
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M sv.c
Log Message:
-----------
sv.c need to check for pv in sv in sv_setpvf
Commit: a6841af037a9213511eff448bc7af5637aa5b957
https://github.com/Perl/perl5/commit/a6841af037a9213511eff448bc7af5637aa5b957
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M sv.c
Log Message:
-----------
sv
Commit: 26ad73e1b50b72b9c5e79408c123937f17461df6
https://github.com/Perl/perl5/commit/26ad73e1b50b72b9c5e79408c123937f17461df6
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
immediate use
Commit: 3028a6988277d32504210e5203c97b6d8432b9cd
https://github.com/Perl/perl5/commit/3028a6988277d32504210e5203c97b6d8432b9cd
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
more immed
Commit: 4b4c93f4823793b1c2ea2853cbae933d57fa6a08
https://github.com/Perl/perl5/commit/4b4c93f4823793b1c2ea2853cbae933d57fa6a08
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
Revert "more immed"
This reverts commit d14fa3db195160b1170c3b169204fdfa10830fb8.
Commit: 9628e57cf765f0e179d2ceaf771027a60b4e0451
https://github.com/Perl/perl5/commit/9628e57cf765f0e179d2ceaf771027a60b4e0451
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
Revert "immediate use"
This reverts commit f0df51da9259a5823f1561c492ff8e6b9eb2805a.
Commit: f6fc0611c9c41c8a1868434d92fce6be11ad0c06
https://github.com/Perl/perl5/commit/f6fc0611c9c41c8a1868434d92fce6be11ad0c06
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Comments, white space
Commit: 4b4c5e4e08e09418a63580d7869d0b0d76a44d62
https://github.com/Perl/perl5/commit/4b4c5e4e08e09418a63580d7869d0b0d76a44d62
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embed.fnc
M embed.h
M locale.c
M proto.h
Log Message:
-----------
add is_cur_locale_utf8
Commit: 37c49ef042f1076d63fe296f17e40b79bc6f4603
https://github.com/Perl/perl5/commit/37c49ef042f1076d63fe296f17e40b79bc6f4603
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M ext/POSIX/POSIX.xs
M locale.c
M perl.h
Log Message:
-----------
final
Commit: c091514a0430192fe3392df4bea5eb0f14d68979
https://github.com/Perl/perl5/commit/c091514a0430192fe3392df4bea5eb0f14d68979
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
t/run/locale.t: Change var name and hoist to larger scope
The old name was somewhat misleading
Commit: 7a3fa1789110d8a2e3b126b464b367b82d993858
https://github.com/Perl/perl5/commit/7a3fa1789110d8a2e3b126b464b367b82d993858
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
t/run/locale.t: Extract code into a sub
This is in preparation for it to be called from another place
Commit: 6a6c462abd957b474145d650a4f3cc9e07711160
https://github.com/Perl/perl5/commit/6a6c462abd957b474145d650a4f3cc9e07711160
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
t/run/locale.t: Save sub return in an array
This is in preparation for it to be used again.
Commit: b1ee261734ae13a15392583ae2ed4f7f1448f0c0
https://github.com/Perl/perl5/commit/b1ee261734ae13a15392583ae2ed4f7f1448f0c0
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
t/run/locale.t: Add test
This is marked TODO; the next commit will cause this test to pass.
Commit: 1625db0f65923eef1f831a04ae766c34fb119f48
https://github.com/Perl/perl5/commit/1625db0f65923eef1f831a04ae766c34fb119f48
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
M t/run/locale.t
Log Message:
-----------
S_find_locale_from_environment: Handle disparate LC_ALL
Prior to this commit, it was possible on some platforms to improperly
set a locale category from a locale of "".
Consider:
export LC_ALL="LC_CTYPE=de_DE;LC_NUMERIC=C;LC_TIME=de_DE;..."
and then run
print POSIX::setlocale(LC_NUMERIC, "");
It wouldn't know how to extract just the LC_NUMERIC part of the LC_ALL
string.
Commit: f059f7c996c857adee0023fac6bac460374bfe3e
https://github.com/Perl/perl5/commit/f059f7c996c857adee0023fac6bac460374bfe3e
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
M t/run/locale.t
Log Message:
-----------
Revert "S_find_locale_from_environment: Handle disparate LC_ALL"
This reverts commit ec083d3e824ac77199917066653c26780cf26bb0.
Commit: 0077d3e674277462972874102f41a869e2cbf711
https://github.com/Perl/perl5/commit/0077d3e674277462972874102f41a869e2cbf711
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M t/run/locale.t
Log Message:
-----------
Revert "t/run/locale.t: Add test"
This reverts commit 28b41f6baf95fe40466e5ee3e349550c7c4e85ee.
Commit: 5251753b39cdd961354e35e58c344fad84d8704f
https://github.com/Perl/perl5/commit/5251753b39cdd961354e35e58c344fad84d8704f
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
finish comment;: read env lock on posix setlocale lock
Commit: 84a98ec72e64799f3ed6ebc218c479030d937373
https://github.com/Perl/perl5/commit/84a98ec72e64799f3ed6ebc218c479030d937373
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M locale.c
Log Message:
-----------
locale.c: Don't recalculate the locale
In these functions, we already know the locale, so pass it to the called
function instead of NULL, so that that function won't have to
recalculate it.
Commit: 183724bc83799d729c09ff19360a1e47bc5bdea9
https://github.com/Perl/perl5/commit/183724bc83799d729c09ff19360a1e47bc5bdea9
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M regen/regen_lib.pl
Log Message:
-----------
regen/regen_lib.pl: Stop compile time warning
This suppresses the warning about negative repeat counts
Commit: ff1218b95e9528c5287f7575e5b169d019c1ba93
https://github.com/Perl/perl5/commit/ff1218b95e9528c5287f7575e5b169d019c1ba93
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M regen/reentr.pl
Log Message:
-----------
regen/reentr.pl: Use hash instead of code conditionals
Fill this hash with the buffer sizes instead of using conditionals in
the code to do so. This is in preparation for more variance in the
sizes, which would otherwise increase the number of conditionals
Commit: 794862fead97848650b50c245b26926b2528d943
https://github.com/Perl/perl5/commit/794862fead97848650b50c245b26926b2528d943
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M reentr.c
M regen/reentr.pl
Log Message:
-----------
reentr.pl: Increase strerror_r buffer size
We have seen cases where a libc strerror() buffer size of 80 is not
enough. See https://github.com/Perl/perl5/issues/21992.
One might think our current size for strerror_r() of 256 would handle
any situation, but in looking around for this, I saw that glibc bothers
to document that theirs is 1024. So this commit bumps it to that.
Commit: 884bb128efabe6d4a24a1a2224f57d8527112c01
https://github.com/Perl/perl5/commit/884bb128efabe6d4a24a1a2224f57d8527112c01
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M regen/reentr.pl
Log Message:
-----------
regen/reentr.pl: Update comments
Commit: 36a13c06bde8adf10cf88ecc378819d6e0cad73c
https://github.com/Perl/perl5/commit/36a13c06bde8adf10cf88ecc378819d6e0cad73c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M reentr.c
M regen/reentr.pl
Log Message:
-----------
regen/reentr.pl: Reserve L_cuserid bytes for getlogin_r buffer
This constant is defined by POSIX to be the max size of a user name. We
don't have to guess, as what was done before this commit.
Commit: 16de4b73747917e4f52014ace47103a062068e5d
https://github.com/Perl/perl5/commit/16de4b73747917e4f52014ace47103a062068e5d
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M reentr.c
M regen/reentr.pl
Log Message:
-----------
f L_cuserid
Commit: d852ec1f1f4371fb542d183c7befb4b8872b851c
https://github.com/Perl/perl5/commit/d852ec1f1f4371fb542d183c7befb4b8872b851c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M reentr.c
M regen/reentr.pl
Log Message:
-----------
regen/reentr.pl: Reserve L_ctermid bytes for ttyname_r buffer
This constant is defined by POSIX to be the max size of the return of
ctermid(), which should be the same as for ttyname_r().
Commit: bdbd9cb8cec9f5e2de0a9e10942783d35d902399
https://github.com/Perl/perl5/commit/bdbd9cb8cec9f5e2de0a9e10942783d35d902399
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M doio.c
Log Message:
-----------
doio: Wrap functions with mutexes
Commit: 1033a8e5e06a64de96e1c88c483741c3cbedacc8
https://github.com/Perl/perl5/commit/1033a8e5e06a64de96e1c88c483741c3cbedacc8
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.c
Log Message:
-----------
perl.c: Wrap functions with mutexes
Commit: aa6587884581214b5c4db9c86edf8371b0a5e48b
https://github.com/Perl/perl5/commit/aa6587884581214b5c4db9c86edf8371b0a5e48b
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M reentr.c
M reentr.h
M regen/reentr.pl
Log Message:
-----------
regen/reentr.pl: Update copyright year
Commit: 6b6e5e7bb3dddd9e9e4e78f90b4975eb997df785
https://github.com/Perl/perl5/commit/6b6e5e7bb3dddd9e9e4e78f90b4975eb997df785
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M reentr.h
M regen/reentr.pl
Log Message:
-----------
regen/reentr.pl: White-space, comment
Commit: 0bd1f851c0ea880efef95f1c9938b362096f3b00
https://github.com/Perl/perl5/commit/0bd1f851c0ea880efef95f1c9938b362096f3b00
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M MANIFEST
A reentr_locks.h
M regen/reentr.pl
M t/porting/regen.t
Log Message:
-----------
regen/reentr.pl: Also generate mutex locking definitions
This program has a DATA table containing information about the reentrant
version of various functions. This commit adds two columns to that
tablwe containing information I researched about the thread-safety of
the non-reentrant functions vs the reentrant ones. It uses this to
generate a new header file of macro definitions that say how each
version should be locked.
The coder now need only use the name of a function to get to a macro
containing the appropriate definition; the coder need not know the
details.
Commit: db6571aa30019512f11a49274a6a080c4749d564
https://github.com/Perl/perl5/commit/db6571aa30019512f11a49274a6a080c4749d564
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Include the generated file from the previous commit
And remove the now duplicate LOCK definitions.
I checked an earlier version to make sure the new locks matched the old,
and the only changes were errors I had found in the old ones
e
Commit: 066f96d7fea3f0ea0bd3ee8c833f6b6a901b970c
https://github.com/Perl/perl5/commit/066f96d7fea3f0ea0bd3ee8c833f6b6a901b970c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M pp_sys.c
Log Message:
-----------
pp_sys: Add locks around some calls
Commit: b075a82301ea235744279900fda1a19e36780f33
https://github.com/Perl/perl5/commit/b075a82301ea235744279900fda1a19e36780f33
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
perl.h: Use Perl_croak() instead of more specific panic
Instead of using locale_panic_(), which is applicable for locales, use
the more generic Perl_croak(). This is in preparation for a future
commit that will use this code in other situations
Commit: 6dd9fdb1c60fc88db56f1086c7fc0dce20466e1c
https://github.com/Perl/perl5/commit/6dd9fdb1c60fc88db56f1086c7fc0dce20466e1c
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
Create PERL_REENTRANT_LOCK(), UNLOCK
Prior to this commit, the mutex lock for locales was a reentrant lock;
and no others.
This extracts that logic into these two new macros, and generalizes
them, so that any mutex can easily be made into a reentrant one.
Commit: c013dd3cc7441f6e893e6981b4723bb72734974d
https://github.com/Perl/perl5/commit/c013dd3cc7441f6e893e6981b4723bb72734974d
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M embedvar.h
M intrpvar.h
M perl.h
M sv.c
Log Message:
-----------
start reent env lock
Commit: 4ad6c2707a2c784224e94ae00d6bf78727d67134
https://github.com/Perl/perl5/commit/4ad6c2707a2c784224e94ae00d6bf78727d67134
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
M perlvars.h
Log Message:
-----------
REENT LOCK => many reader
Commit: c9cb9ed12ed5e48df45631416f287052e21216cb
https://github.com/Perl/perl5/commit/c9cb9ed12ed5e48df45631416f287052e21216cb
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M perl.h
Log Message:
-----------
move env lock
Commit: 152e49f881efd5274db3b6e5082e8b133aff9978
https://github.com/Perl/perl5/commit/152e49f881efd5274db3b6e5082e8b133aff9978
Author: Karl Williamson <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M ext/I18N-Langinfo/Langinfo.xs
M iperlsys.h
M lib/locale.t
M lib/locale_threads.t
M locale.c
M locale_table.h
M makedef.pl
M perl.h
M reentr_locks.h
M regen/reentr.pl
M t/run/locale.t
Log Message:
-----------
foo
Compare: https://github.com/Perl/perl5/compare/3f64593f6224...152e49f881ef
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications