Merge remote-tracking branch 'origin/bug_749_ethread_bugfix'
[enigma2.git] / lib / base / thread.cpp
index fa923debe3ddf08aed24ec059b663a1b7486e071..1fda6a47a944efb23dd7e76a72cd7ba444991c0c 100644 (file)
@@ -58,7 +58,12 @@ int eThread::runAsync(int prio, int policy)
                pthread_attr_setschedpolicy(&attr, policy);
                pthread_attr_setschedparam(&attr, &p);
        }
-       
+
+       if (the_thread) {
+               eDebug("old thread joined %d", pthread_join(the_thread, 0));
+               the_thread = 0;
+       }
+
        if (pthread_create(&the_thread, &attr, wrapper, this))
        {
                pthread_attr_destroy(&attr);
@@ -69,7 +74,7 @@ int eThread::runAsync(int prio, int policy)
        
        pthread_attr_destroy(&attr);
        return 0;
-}                     
+}
 
 int eThread::run(int prio, int policy)
 {