summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsContext.cpp
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 /libs/rs/rsContext.cpp
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
Diffstat (limited to 'libs/rs/rsContext.cpp')
-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);