From 7d6b0a30265a8142540b4ac5afcfae2e44704761 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Tue, 11 Jul 2017 23:01:47 -0700 Subject: [PATCH] Core: Fix exiting rewind thread --- src/core/rewind.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/rewind.c b/src/core/rewind.c index 850d0723d..f75229195 100644 --- a/src/core/rewind.c +++ b/src/core/rewind.c @@ -157,10 +157,12 @@ THREAD_ENTRY _rewindThread(void* context) { ThreadSetName("Rewind Diff Thread"); MutexLock(&rewindContext->mutex); while (rewindContext->onThread) { - while (!rewindContext->ready) { + while (!rewindContext->ready && rewindContext->onThread) { ConditionWait(&rewindContext->cond, &rewindContext->mutex); } - _rewindDiff(rewindContext); + if (rewindContext->ready) { + _rewindDiff(rewindContext); + } rewindContext->ready = false; } MutexUnlock(&rewindContext->mutex);