On Thursday, 12 December 2013 at 17:56:12 UTC, Walter Bright
wrote:
5. thread local storage
I think this is a negative. D's TLS has caused me more problems
than it has fixed: for example, if you write an in-process COM
server in Windows XP, it will crash the host application if you
hit almost any druntime call. Why? Because the TLS stuff isn't
set up properly when the dll is loaded.
Windows Vista managed to fix this, but there's a lot of people
who use XP, and this is a big problem.
Same thing running D on bare metal. Maybe I can fix this by
setting up the segment registers or reading the executable, idk,
but __gshared just works in that environment, whereas tls doesn't.
As I understand it, the Android and Macintosh operating systems
has, or at least had, TLS problems too.
I agree with the rest of them, but D's default TLS has been a big
pain to me.