id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 3837,thread_specific_ptr returns incorrect values if another one was constructed at the same address earlier,anonymous,viboes,"optional< thread_specific_ptr > optr; void other_thread(){   optr=none;   optr=in_place(); } int main(){   optr=in_place();   optr->reset(new int);   thread(bind(&other_thread));   this_thread::sleep(posix_time::seconds(5));   assert(optr->get() == 0); //fails! } the assertion should not fail. this can also be triggered by dynamic allocation. the address of thread_specific_ptr is treated as a key that is unique until the end of the thread in Boost.Thread, which is an incorrect assumption. a unique key obtained under a mutex on construction of thread_specific_ptr could be used instead. ",Bugs,closed,,thread,Boost 1.41.0,Problem,invalid,tss,