Boost logo

Boost :

From: William E. Kempf (wekempf_at_[hidden])
Date: 2003-02-24 17:17:08

Edward Diener said:
> "Alexander Terekhov" <terekhov_at_[hidden]> wrote in message
>> Ken Hagan wrote:
>> >
>> > Alexander Terekhov wrote:
>> > >
>> > > I, for one, believe strongly that "&k" is nothing but
>> > >
>> > > "static_cast<typeof(k)*>(pthread_getspecific(__k_key));"
>> > >
>> > > It *isn't* a compile-time constant (just like &errno isn't a
>> compile time constant).
>> >
>> > MSVC has no pthread_getspecific(), so I venture to suggest that your
>> belief probably isn't valid for that compiler.
>> Uhmm. In return, I venture to suggest that MS-TLS can and shall be
>> characterized as ``utterly busted.''
>> "If a DLL declares any nonlocal data or object as __declspec(thread),
>> it can cause a protection fault if dynamically loaded."
> This is well-known by many and has never been hidden by MS. It doesn't
> mean __declspec(thread) is busted, it just means that it is limited to
> only those cases in which the DLL is not dynamically loaded, which is
> the vast majority of cases. Of course to make TLS completely foolproof,
> one does not use __declspec(thread) but instead one uses the Win32 TLS
> API functions instead.

Where you run into issues with TLS cleanup ;).

I won't be as critical as Alexander, but I will agree that the MS TLS
implementation has serious design issues which need to be corrected.

William E. Kempf

Boost list run by bdawes at, gregod at, cpdaniel at, john at