\r
void ThreadedExecutor::Join()\r
{\r
+ CleanupCompleted();\r
for(std::vector<CancelableThread *>::iterator i=m_threads.begin(); i!=m_threads.end(); i++)\r
{\r
- (*i)->join();\r
+ if((*i)->isRunning())\r
+ {\r
+ (*i)->join();\r
+ }\r
}\r
CleanupCompleted();\r
}\r