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> yahoo.com> 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 | http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk