fix bug where a thread could be join()ed without being canceled first
fix bug where a thread could be join()ed without being canceled first

rhansen/rpstir,rhansen/rpstir,rhansen/rpstir,rhansen/rpstir,rhansen/rpstir