On Saturday, 3 January 2015 at 13:33:21 UTC, Ola Fosheim Grøstad wrote:
On Saturday, 3 January 2015 at 12:17:52 UTC, ketmar via Digitalmars-d-learn wrote:
why should it? thread locals are... well, local for each thread. you can't access local of different thread without resorting to low-level
assembly and OS dependent tricks.

Of course you can, anything that is reachable through any chain of pointers/references is effectively "shared", not only the object you explicitly "share".

So when you cast away "shared" then call a function and that is safe in itself, you don't know what happens when someone modifies some function deep down in the call chain later on and access some private pointer chain and possibly retain a pointer to it.

The alternative is to put "shared" on all parameters in libraries or avoid using libraries...

I think you're talking cross-purposes. thread-local as in TLS v.s. thread-local as in not-shared.

Reply via email to