summaryrefslogtreecommitdiffstats
path: root/libs/utils/Threads.cpp
diff options
context:
space:
mode:
authorRitu Srivastava <rsrivast@sta.samsung.com>2011-01-25 16:23:08 -0800
committerMadan Ankapura <mankapur@sta.samsung.com>2011-01-25 21:48:54 -0800
commit5ee1a0c5ee41a9c7366e7e378e5ab232072bb983 (patch)
tree3608db992e195ce2ef85770ae9cd233c5e8f165e /libs/utils/Threads.cpp
parentccacf00df239b8231f154167c99d4ae74cf305e9 (diff)
downloadframeworks_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.cpp1
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;
}