Windows DLLs and TLS
Jakob Ovrum
jakobovrum at gmail.com
Mon Oct 8 11:35:58 PDT 2012
On Monday, 8 October 2012 at 18:05:31 UTC, Rainer Schuetze wrote:
> What OS are you running? Implicite TLS for dynamically loaded
> DLLs is not supported by XP or Sever 2003, so druntime contains
> a fix to simulate it. (The workaround has the drawback that the
> DLL cannot be unloaded anymore.)
>
> I'm just speculating, maybe something goes wrong with the
> tls_index variable, reading TLS variables would then access
> data from another DLL.
>
> Is your code doing callbacks into the host application in
> static initializers? With the XP workaround, the runtime
> initialization "impersonates" all threads that exist before
> loading the DLL, by switching the TLS-pointer array of the
> current thread, and that might be unexpected in a callback (but
> not doing this might produce even more unexpected results).
I'm running Windows 7, and I'm not using any static initializers
either :(
More information about the Digitalmars-d
mailing list