version 0.3.2
[fms.git] / src / threadwrapper / threadedexector.cpp
index 72c04c2..c9eaf33 100644 (file)
@@ -39,9 +39,13 @@ void ThreadedExecutor::CleanupCompleted()
 \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