On 01/25/2012 01:30 PM, Patrick Marlier wrote:
> From my point of view, no. When it is a thread local, it should not
> be shared to someone else. If the thread dies, what happens to the
> thread local variable? Should it be discarded completely and this
> piece of memory never reallocated? Even if the programmer take care
> of this situation, does it make sense to share a thread local to
> other threads?

No, Andi has a point.  It's no more invalid than sharing a variable
off the local stack with another thread.  All that's required is that
the foreign thread not keep the pointer permanently; that the use of
the tls variable end before the thread ends.

And it's entirely likely that I'd thought of exactly that two years
ago when the DECL_THREAD_LOCAL test was omitted from that bit of code,
but I failed to add a comment.

I guess this patch needs to be reverted...


r~

Reply via email to