title: Using boost::thread_specific_ptr in a non-boost thread
body: <p>I'm reading <a href="http://www.boost.org/doc/libs/1_55_0/doc/html/thread/thread_local_storage.html" rel="nofollow noreferrer">the documentation section for <code>boost::thread_specific_ptr</code></a>, and trying to parse this paragraph:</p>
  
  <blockquote>
    <p>Note: on some platforms, cleanup of thread-specific data is not performed for threads created with the platform's native API. On those platforms such cleanup is only done for threads that are started with boost::thread unless boost::on_thread_exit() is called manually from that thread. </p>
  </blockquote>
  
  <p>First, what is probably a pedantic point: I assume they meant to say <code>boost::this_thread::at_thread_exit()</code> rather than <code>boost::on_thread_exit()</code>.  Otherwise I really am lost.</p>
  
  <p>More importantly, what exactly does the thread need to do?  Is it sufficient for it to pass some no-op function to at_thread_exit(), or does it need to pass something else?</p>
  
  <p>(This topic was discussed in comments <a href="https://stackoverflow.com/a/4788440/3117832">here</a>, but I'm still not sure what I need to do.)</p>
  
  <p>(Back story: I'm looking for a solution to the problem I raised <a href="https://stackoverflow.com/questions/22446534/dynamic-tls-in-c11">earlier today</a>).</p>