Re: Collation patch's handling of wcstombs/mbstowcs is sheerest fantasy - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Collation patch's handling of wcstombs/mbstowcs is sheerest fantasy
Date
Msg-id 26536.1303573069@sss.pgh.pa.us
Whole thread Raw
In response to Re: Collation patch's handling of wcstombs/mbstowcs is sheerest fantasy  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Collation patch's handling of wcstombs/mbstowcs is sheerest fantasy  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
I wrote:
> * Where they're not, install the locale_t with uselocale(), do
> mbstowcs or wcstombs, and revert to the former locale_t setting.
> This is ugly as sin, and not thread-safe, but of course lots of
> the backend is not thread-safe.

I've been corrected on that: uselocale() *is* thread safe, at least in
glibc (it only affects the locale used by the current thread).  And it's
"only a few instructions" according to Jakub Jelinek.  So a temporary
setting via uselocale is exactly what you're supposed to do for any
locale-sensitive function that hasn't got a *_l variant.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Dimitri Fontaine
Date:
Subject: Re: pgbench \for or similar loop
Next
From: "Kevin Grittner"
Date:
Subject: Re: What Index Access Method Functions are really needed?