summaryrefslogtreecommitdiff
path: root/rs/java/android/renderscript/RenderScript.java
diff options
context:
space:
mode:
authorPirama Arumuga Nainar <pirama@google.com>2015-10-02 22:08:11 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-10-02 22:08:11 +0000
commit5fbb245230317b5ca312556b73380195871827eb (patch)
tree629e99380e5c99e8eceedc97895ae475c6b2901f /rs/java/android/renderscript/RenderScript.java
parent6706b71d7cfb9a916fd482189c04a0d59c19c103 (diff)
parentca3e5aeaa65ae1d77ce92f082ab789933eb18237 (diff)
am ca3e5aea: Merge "Retry if interrupted before mMessageThread has joined"
* commit 'ca3e5aeaa65ae1d77ce92f082ab789933eb18237': Retry if interrupted before mMessageThread has joined
Diffstat (limited to 'rs/java/android/renderscript/RenderScript.java')
-rw-r--r--rs/java/android/renderscript/RenderScript.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java
index a2967e8a2c47..5a27301badcb 100644
--- a/rs/java/android/renderscript/RenderScript.java
+++ b/rs/java/android/renderscript/RenderScript.java
@@ -1583,9 +1583,16 @@ public class RenderScript {
nContextDeinitToClient(mContext);
mMessageThread.mRun = false;
- try {
- mMessageThread.join();
- } catch(InterruptedException e) {
+
+ // Wait for mMessageThread to join. Try in a loop, in case this thread gets interrupted
+ // during the wait.
+ boolean hasJoined = false;
+ while (!hasJoined) {
+ try {
+ mMessageThread.join();
+ hasJoined = true;
+ } catch(InterruptedException e) {
+ }
}
nContextDestroy();