aboutsummaryrefslogtreecommitdiff
path: root/src/jthread/win32/jthread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jthread/win32/jthread.cpp')
-rwxr-xr-x[-rw-r--r--]src/jthread/win32/jthread.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/jthread/win32/jthread.cpp b/src/jthread/win32/jthread.cpp
index 0781982e2..6a745c590 100644..100755
--- a/src/jthread/win32/jthread.cpp
+++ b/src/jthread/win32/jthread.cpp
@@ -46,14 +46,21 @@ JThread::~JThread()
void JThread::Stop() {
runningmutex.Lock();
- requeststop = false;
+ requeststop = true;
runningmutex.Unlock();
}
void JThread::Wait() {
- int WaitForSingleObject_retval = WaitForSingleObject(threadhandle, INFINITE);
- assert(WaitForSingleObject_retval == 0);
- UNUSED(WaitForSingleObject_retval);
+ runningmutex.Lock();
+ if (running)
+ {
+ runningmutex.Unlock();
+ WaitForSingleObject(threadhandle, INFINITE);
+ }
+ else
+ {
+ runningmutex.Unlock();
+ }
}
int JThread::Start()