mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-27 17:28:41 +00:00
Fix broken thread stop handling
This commit is contained in:
parent
d02ce1cf4d
commit
d19a69cd0d
5 changed files with 35 additions and 6 deletions
|
@ -34,6 +34,7 @@ JThread::JThread()
|
|||
{
|
||||
retval = NULL;
|
||||
mutexinit = false;
|
||||
requeststop = false;
|
||||
running = false;
|
||||
}
|
||||
|
||||
|
@ -44,7 +45,7 @@ JThread::~JThread()
|
|||
|
||||
void JThread::Stop() {
|
||||
runningmutex.Lock();
|
||||
running = false;
|
||||
requeststop = true;
|
||||
runningmutex.Unlock();
|
||||
}
|
||||
|
||||
|
@ -78,6 +79,7 @@ int JThread::Start()
|
|||
runningmutex.Unlock();
|
||||
return ERR_JTHREAD_ALREADYRUNNING;
|
||||
}
|
||||
requeststop = false;
|
||||
runningmutex.Unlock();
|
||||
|
||||
pthread_attr_t attr;
|
||||
|
@ -141,6 +143,15 @@ bool JThread::IsRunning()
|
|||
return r;
|
||||
}
|
||||
|
||||
bool JThread::StopRequested() {
|
||||
bool r;
|
||||
|
||||
runningmutex.Lock();
|
||||
r = requeststop;
|
||||
runningmutex.Unlock();
|
||||
return r;
|
||||
}
|
||||
|
||||
void *JThread::GetReturnValue()
|
||||
{
|
||||
void *val;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue