I do not know if this really is the right place to post it but I had compilation problems with thread_specific_ptr and I found a solution to it. When compiling the thread_specific_ptr with visual studio 2008 I get an error when compiling the release function saying it can't convert from 0 (int) to boost::shared_ptr<boost::detail::tss_cleanup_function>().
 
 
class thred_specific_ptr {
...
..
 
  T* release()
        {
            T* const temp=get();
         detail::set_tss_data(this,0,0,false); //was this
//change to: detail::set_tss_data(this,boost::shared_ptr<boost::detail::tss_cleanup_function>() ,0,false);
            return temp;
        }
 
/Daniel Svensson