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:


Reply via email to