<div>I was read this on MSDN:</div><div><br></div><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms724211(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/ms724211(v=vs.85).aspx</a><div>
<br></div><div>"Closing a thread handle does not terminate the associated thread or remove the thread object. Closing a process handle does not terminate the associated process or remove the process object. To remove a thread object, you must terminate the thread, then close all handles to the thread."</div>
<div><br></div><div>So that would see to indicate on Windows at least, that CloseThread should come after a thread has exited (I assume this should be the case for all platforms). What this basically translates to is that threads should be closed after use, but they cannot (or should not) be closed within its own running thread context. It looks like something is wrong with whatever we have at the moment.</div>