From: ghost Date: Mon, 11 Apr 2011 12:55:32 +0000 (+0200) Subject: do call pthread_join before new pthread_create when the thread handle is valid X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/4c4383379548e25763887d79b45576b015ece7b5 do call pthread_join before new pthread_create when the thread handle is valid fixes bug #749 --- diff --git a/lib/base/thread.cpp b/lib/base/thread.cpp index fa923deb..1fda6a47 100644 --- a/lib/base/thread.cpp +++ b/lib/base/thread.cpp @@ -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) {