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. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost