Boost logo

Boost :

From: Ken Hagan (K.Hagan_at_[hidden])
Date: 2003-02-26 04:47:57


Gabriel Dos Reis wrote:
>
> There is what that particular implementation does with its extensions
> and there are various mulit-threading models, what the standard
> language is defined to be and ways to extend it to support
> multi-thread and thread
> local storage. In that regard, bugs in either the design or the
> implementation don't count as arguments for not being cautious about
> what that implementation does.
>
> That may sound obvious but I feel that need to be stated.

I confess I had to re-read it several times to get any inkling of
your meaning, so I wouldn't call it obvious.

In the context of the OP wanting to know what existing practice
was, I'll try another summary.

 1 MSVC allows the template instantiation.

 2 This is something which can be achieved on top of any form of TLS.

 3 No-one has presented a compelling reason to allow it, not
    least because a function pointer allows much the same effect.

 4 Some have expressed doubts as to whether this existing practice
    is something to follow.

 5 Somewhat off to one side, boost threads has identified design
    problems which make it hard to clean up TLS data and Microsoft
    document that __declspec(thread) is unusable for dynamically
    loaded libraries.

I take you remark to be, in effect, "Given 5, 1 and 2 don't count
as an argument against 4." in which case I am happy to concur, not
least because 3 means it doesn't much matter.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk