summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2011-01-25 00:26:25 -0800
committerJason Sams <rjsams@android.com>2011-01-25 00:34:34 -0800
commit03855bbe4a55668d6834514f83f8c2276e9dc594 (patch)
tree014c3bc7c6609866b0c880b6eef14f11fcffb04c
parent887a834c4737bed055bacbc91cc0dd42bd25546c (diff)
downloadframeworks_base-03855bbe4a55668d6834514f83f8c2276e9dc594.zip
frameworks_base-03855bbe4a55668d6834514f83f8c2276e9dc594.tar.gz
frameworks_base-03855bbe4a55668d6834514f83f8c2276e9dc594.tar.bz2
Fix bug 3385881
Launch signals and threads are not always matched in index. Threads grab launch indexes as they start which may not be the order in which they were launched. Change-Id: I1ff42c3df5d7ebb46de6329ebd11ef67a5fc58ca
-rw-r--r--libs/rs/rsContext.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 11d0bdc..40cb5c7 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -735,6 +735,8 @@ Context::~Context() {
mWorkers.mRunningCount = (int)mWorkers.mCount;
for (uint32_t ct = 0; ct < mWorkers.mCount; ct++) {
mWorkers.mLaunchSignals[ct].set();
+ }
+ for (uint32_t ct = 0; ct < mWorkers.mCount; ct++) {
int status = pthread_join(mWorkers.mThreadId[ct], &res);
}
rsAssert(!mWorkers.mRunningCount);