diff options
| author | 2011-08-17 17:23:16 -0700 | |
|---|---|---|
| committer | 2011-08-17 17:23:16 -0700 | |
| commit | 24b352242894b38d224df8ef5f586d25ba6c210d (patch) | |
| tree | 83cf6d01e646e7b187648b49b8b2a039d9907ff4 | |
| parent | 8c60d89b3704164d5a13e80ace6bea4b51af37a3 (diff) | |
| parent | 85deb781658e870556c305c523fa7f2bf679efe3 (diff) | |
Merge "Fix "return 0" behavior in rs 0 was not properly blocking for the next message."
| -rw-r--r-- | libs/rs/rsContext.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp index f65dd4723a81..8996ad1278a7 100644 --- a/libs/rs/rsContext.cpp +++ b/libs/rs/rsContext.cpp @@ -252,10 +252,11 @@ void * Context::threadProc(void *vrsc) { while (!rsc->mExit) { uint64_t waitTime = 0; uint64_t now = rsc->getTime(); - if (now < targetTime) { - waitTime = targetTime - now; - } else { - doWait = false; + if (!doWait) { + if (now < targetTime) { + waitTime = targetTime - now; + doWait = true; + } } mDraw |= rsc->mIO.playCoreCommands(rsc, doWait, waitTime); @@ -265,7 +266,7 @@ void * Context::threadProc(void *vrsc) { if (mDraw && rsc->mIsGraphicsContext) { uint64_t delay = rsc->runRootScript() * 1000000; targetTime = rsc->getTime() + delay; - doWait = delay != 0; + doWait = (delay == 0); if (rsc->props.mLogVisual) { rsc->displayDebugStats(); |