summaryrefslogtreecommitdiff
path: root/src/threadengines/threadengine_win32.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/threadengines/threadengine_win32.cpp')
-rw-r--r--src/threadengines/threadengine_win32.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/threadengines/threadengine_win32.cpp b/src/threadengines/threadengine_win32.cpp
index b67f01681..8fb103267 100644
--- a/src/threadengines/threadengine_win32.cpp
+++ b/src/threadengines/threadengine_win32.cpp
@@ -7,9 +7,7 @@ static DWORD WINAPI entry_point(void *parameter)
{
Thread *thread = static_cast<Thread *>(parameter);
thread->Run();
- if (!thread->GetExitState())
- thread->Join();
- delete thread;
+ thread->SetExitState();
return 0;
}
@@ -29,7 +27,7 @@ ThreadEngine::~ThreadEngine()
*/
void Thread::Join()
{
- SetExitState();
+ this->SetExitState();
WaitForSingleObject(Handle, INFINITE);
}