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.

Reply via email to