Re: check_strxfrm_bug()
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Thomas Munro <thomas.munro@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-06-12T08:48:14Z
Lists: pgsql-hackers
On 12/06/2023 01:15, Thomas Munro wrote: > There are still at least a couple > of functions that lack XXX_l variants in the standard: mbstowcs() and > wcstombs() (though we use the non-standard _l variants if we find them > in <xlocale.h>), but that's OK because we use uselocale() and not > setlocale(), because uselocale() is required to be thread-local. Right, mbstowcs() and wcstombs() are already thread-safe, that's why there are no _l variants of them. > The use of setlocale() to set up the per-backend/per-database > default locale would have to be replaced with uselocale(). This recent bug report is also related to that: https://www.postgresql.org/message-id/17946-3e84cb577e9551c3%40postgresql.org. In a nutshell, libperl calls uselocale(), which overrides the setting we try set with setlocale(). -- Heikki Linnakangas Neon (https://neon.tech)
Commits
-
Don't expose Windows' mbstowcs_l() and wcstombs_l().
- 4e9fa6d56b3e 17.0 landed
-
All supported systems have locale_t.
- 8d9a9f034e92 17.0 landed
-
Remove obsolete defense against strxfrm() bugs.
- 7d3d72b55edd 16.0 landed