Merge pull request #2338 from wwylele/fix-dead
Kernel: remove object's waiting thread if it is dead
This commit is contained in:
commit
d25a37966d
@ -35,7 +35,8 @@ void WaitObject::RemoveWaitingThread(Thread* thread) {
|
||||
SharedPtr<Thread> WaitObject::GetHighestPriorityReadyThread() {
|
||||
// Remove the threads that are ready or already running from our waitlist
|
||||
boost::range::remove_erase_if(waiting_threads, [](const SharedPtr<Thread>& thread) {
|
||||
return thread->status == THREADSTATUS_RUNNING || thread->status == THREADSTATUS_READY;
|
||||
return thread->status == THREADSTATUS_RUNNING || thread->status == THREADSTATUS_READY ||
|
||||
thread->status == THREADSTATUS_DEAD;
|
||||
});
|
||||
|
||||
// TODO(Subv): This call should be performed inside the loop below to check if an object can be
|
||||
|
Loading…
Reference in New Issue
Block a user