Use thread-safe nl_langinfo_l(), not nl_langinfo().
authorThomas Munro <[email protected]>
Tue, 13 Aug 2024 10:27:16 +0000 (22:27 +1200)
committerThomas Munro <[email protected]>
Tue, 13 Aug 2024 10:34:53 +0000 (22:34 +1200)
commit35eeea62302260ec07fd11b287e488768d4543e2
treed87f1f8947caebead60df4a62fed4c0e0ced6630
parent14c648ff009438830d15de7c8a93c2b29114eb1c
Use thread-safe nl_langinfo_l(), not nl_langinfo().

This gets rid of some setlocale() calls.  The remaining call to
setlocale() in pg_get_encoding_from_locale() is a query of the name
of the current locale when none was provided (in a multi-threaded future
that would need more work).

All known non-Windows targets have nl_langinfo_l(), from POSIX 2008, and
for Windows we already do something thread-safe.

Reviewed-by: Heikki Linnakangas <[email protected]>
Discussion: https://postgr.es/m/CA%2BhUKGJqVe0%2BPv9dvC9dSums_PXxGo9SWcxYAMBguWJUGbWz-A%40mail.gmail.com
src/port/chklocale.c