Boost logo

Boost :

From: Anthony Williams (anthony_w.geo_at_[hidden])
Date: 2008-04-07 11:58:53

Amit <contact.lipik_at_[hidden]> writes:

> Anthony Williams <anthony_w.geo <at>> writes:
>> tss_cleanup_implemented() doesn't do anything itself: it is a placeholder. If
>> the library defines it (e.g. for MSVC on Windows, and for POSIX platforms)
>> then thread_specific_ptr values are automatically cleaned up on thread
>> exit. If the library doesn't define it, the user must define it for TSS to
>> work, and the user takes responsibility for ensuring that all TSS variables
>> are correctly cleaned up.
> Ah-ha. Thanks for clearing this up - I had assumed tss_cleanup_implemented was
> actually supposed to do something. Now, is is expected that this is implemented
> for MSVC, but not for ICL on Win32? They are supposed to be generate compatible
> code. Maybe it is a consequence of some boost configuration define not being set
> for ICL? Or maybe I missed somthing when building the thread lib - I built it
> manually from the IDE (static version). Is there a #define set by bjam that
> controls whether tss_cleanup_implemented is implemented in the library?

You need to define BOOST_THREAD_USE_LIB when you build the static library. It
should work if you're using MSVC as the backend for ICL.

> Apart from this, the library appears to work fine for my use cases (tss, shared
> & exclusive mutex).



Anthony Williams            | Just Software Solutions Ltd
Custom Software Development |
Registered in England, Company Number 5478976.
Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

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