зеркало из
https://github.com/luanti-org/luanti.git
synced 2025-11-09 03:25:28 +01:00
Fix win32 jthread implementation
Этот коммит содержится в:
2
src/jthread/win32/jsemaphore.cpp
Обычный файл → Исполняемый файл
2
src/jthread/win32/jsemaphore.cpp
Обычный файл → Исполняемый файл
@@ -27,7 +27,7 @@ JSemaphore::JSemaphore() {
|
||||
}
|
||||
|
||||
JSemaphore::~JSemaphore() {
|
||||
CloseHandle(&m_hSemaphore);
|
||||
CloseHandle(m_hSemaphore);
|
||||
}
|
||||
|
||||
JSemaphore::JSemaphore(int initval) {
|
||||
|
||||
15
src/jthread/win32/jthread.cpp
Обычный файл → Исполняемый файл
15
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()
|
||||
|
||||
Ссылка в новой задаче
Block a user