Add an explicit wait to our thread wrapper

This commit is contained in:
Robbert van der Helm
2020-10-28 20:40:19 +01:00
parent 93e01dacef
commit d81759c929
2 changed files with 12 additions and 0 deletions
+6
View File
@@ -42,6 +42,12 @@ Win32Thread& Win32Thread::operator=(Win32Thread&& o) {
return *this;
}
void Win32Thread::wait() {
if (handle) {
WaitForSingleObject(handle.get(), INFINITE);
}
}
Win32Thread::Win32Thread() : handle(nullptr, nullptr) {}
Win32Timer::Win32Timer(HWND window_handle,
+6
View File
@@ -184,6 +184,12 @@ class Win32Thread {
Win32Thread(Win32Thread&&);
Win32Thread& operator=(Win32Thread&&);
/**
* Threads in Win32 don't join like threads on other platforms, but it may
* still be useful to wait for a thread to terminate.
*/
void wait();
private:
/**
* The handle for the thread that is running, will be a null pointer if this