Skip site navigation (1)Skip section navigation (2)
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>