diff options
Diffstat (limited to 'src/jthread/win32/jthread.cpp')
-rwxr-xr-x[-rw-r--r--] | src/jthread/win32/jthread.cpp | 15 |
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() |