OSDN Git Service

fix failing thread object run
authorRitu Srivastava <rsrivast@sta.samsung.com>
Wed, 26 Jan 2011 00:23:08 +0000 (16:23 -0800)
committerMadan Ankapura <mankapur@sta.samsung.com>
Wed, 26 Jan 2011 05:48:54 +0000 (21:48 -0800)
A previously exited Thread object refuses to run again, if the
thread-id of the caller, conincides with the thread-id it previously
used in the worker thread. Hence reset the previously used worker
thread-id to -1 when it exits.

Signed-off-by: Ritu Srivastava <rsrivast@sta.samsung.com>
Change-Id: I873925c312a43ec8a16392b98cc959042ff6bfd2

Signed-off-by: Madan Ankapura <mankapur@sta.samsung.com>
libs/utils/Threads.cpp

index f6c55e4..0b360f4 100644 (file)
@@ -775,6 +775,7 @@ int Thread::_threadLoop(void* user)
             self->mLock.lock();
             self->mRunning = false;
             self->mThreadExitedCondition.broadcast();
+            self->mThread = thread_id_t(-1); // thread id could be reused
             self->mLock.unlock();
             break;
         }