This is another thing. Is this correct? If yes, then are we all completely screwed?
Certainly. Google "threads setlocale unix" and see. For example http://www.phy.ohiou.edu/cgi-bin/man-cgi.sol?setlocale+3C
To change locale in a multi-thread application setlocale should be called prior to using any locale sensitive rou- tine. Using setlocale to query the current locale is safe and can be used anywhere in a multi-thread application.
setlocale will happily dlclose code that another thread is running. Or worse. M.