diff options
Diffstat (limited to 'graphics/java/android/renderscript/RenderScript.java')
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 1f3e159122ca..13120368c193 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -608,7 +608,7 @@ public class RenderScript { while(mRun) { rbuf[0] = 0; int msg = mRS.nContextGetMessage(mRS.mContext, rbuf, true); - if (msg == 0) { + if ((msg == 0) && mRun) { // Can happen for two reasons if (rbuf[0] > 0) { // 1: Buffer needs to be enlarged. @@ -661,6 +661,10 @@ public class RenderScript { validate(); nContextDeinitToClient(mContext); mMessageThread.mRun = false; + try { + mMessageThread.join(); + } catch(InterruptedException e) { + } nContextDestroy(); mContext = 0; |