Date: Wed, 10 Aug 2016 23:52:43 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 211743] newlocale() and/or uselocale() not working properly Message-ID: <bug-211743-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211743 Bug ID: 211743 Summary: newlocale() and/or uselocale() not working properly Product: Base System Version: 10.3-STABLE Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: bin Assignee: freebsd-bugs@FreeBSD.org Reporter: khw@cpan.org Created attachment 173530 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D173530&action= =3Dedit Reproduce newlocale/uselocale problem The attached .c file calls newlocale() to create a locale_t object for all locale categories using the C locale. setlocale() is then called to switch= the LC_MESSAGES locale to one that we've determined reproduces the problem. Th= en uselocale() is called on the C locale object. This should switch all categories, including LC_MESSAGES, to the C locale. That should cause strerror() to print its message in ASCII. Instead it prints using the setlocale() locale. Not shown in this demo program, no errors are raised. This code works properly on Linux and Darwin. I'm extending Perl5 to use the newer locale operations which promise thread safety. Our current work around is to just pretend that these operations d= on't exist in freebsd, and use the old setlocale() operation with mutexes. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-211743-8>