diff options
author | Ritu Srivastava <rsrivast@sta.samsung.com> | 2011-01-25 16:23:08 -0800 |
---|---|---|
committer | Madan Ankapura <mankapur@sta.samsung.com> | 2011-01-25 21:48:54 -0800 |
commit | 5ee1a0c5ee41a9c7366e7e378e5ab232072bb983 (patch) | |
tree | 3608db992e195ce2ef85770ae9cd233c5e8f165e /libs/utils/Threads.cpp | |
parent | ccacf00df239b8231f154167c99d4ae74cf305e9 (diff) | |
download | frameworks_native-5ee1a0c5ee41a9c7366e7e378e5ab232072bb983.zip frameworks_native-5ee1a0c5ee41a9c7366e7e378e5ab232072bb983.tar.gz frameworks_native-5ee1a0c5ee41a9c7366e7e378e5ab232072bb983.tar.bz2 |
fix failing thread object run
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>
Diffstat (limited to 'libs/utils/Threads.cpp')
-rw-r--r-- | libs/utils/Threads.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/utils/Threads.cpp b/libs/utils/Threads.cpp index f6c55e4..0b360f4 100644 --- a/libs/utils/Threads.cpp +++ b/libs/utils/Threads.cpp @@ -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; } |