
Hi, I don't know if this is a known bug or not: When using thread_specific_ptr's, if at any time later in the program the total tss data items drops to zero, it is no longer possible to use tss data. Example: ----------------- #include <boost/test/minimal.hpp> #include <boost/thread/tss.hpp> using namespace boost; int test_main(int, char*[]) { { thread_specific_ptr<int> pi; } try { thread_specific_ptr<int> pi; } catch (thread_resource_error&) { BOOST_FAIL("Can't use TSS any longer after initial usage dropped to zero!"); } return 0; } --------------------- The above program fails when using Boost from the RC_1_34_0 branch + msvc 8.0 under XP SP2 (my copy of the 1.34 branch is not very recent - from January this year). Haven't tried other combinations. The actual problem seems to be related to tss deinit based on reference counting and init based on once_init, IIUC. Best regards, Johan Nilsson