On MacOS X 10.5, which has newlocale() and uselocale(), c-strtod is still
compiled in a way that uses a non-MT-safe implementation:
$ nm c-strtod.o
U ___error
00000000 T _c_strtod
U _free
U _setlocale
U _strdup
U _strtod$UNIX2003
This fixes it, leading to:
$ nm c-strtod.o
0000058c b _c_locale_cache
00000000 T _c_strtod
U _newlocale
U _strtod_l$UNIX2003
2009-12-12 Bruno Haible <[email protected]>
c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
* modules/c-strtod (Depends-on): Add locale.
* modules/c-strtold (Depends-on): Likewise.
--- modules/c-strtod.orig 2009-12-12 15:12:31.000000000 +0100
+++ modules/c-strtod 2009-12-12 15:07:43.000000000 +0100
@@ -8,6 +8,7 @@
Depends-on:
extensions
+locale
strdup-posix
configure.ac:
--- modules/c-strtold.orig 2009-12-12 15:12:31.000000000 +0100
+++ modules/c-strtold 2009-12-12 15:07:43.000000000 +0100
@@ -9,6 +9,7 @@
Depends-on:
extensions
+locale
strdup-posix
configure.ac: