From: Amit (contact.lipik_at_[hidden])
Date: 2008-04-07 11:48:11
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?
Apart from this, the library appears to work fine for my use cases (tss, shared
& exclusive mutex).
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk