[Bug 211743] newlocale() and/or uselocale() not working properly

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Aug 10 23:52:43 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211743

            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 at FreeBSD.org
          Reporter: khw at cpan.org

Created attachment 173530
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=173530&action=edit
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.  Then
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 don't
exist in freebsd, and use the old setlocale() operation with mutexes.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list