Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.

With this we avoid an useless temporary deschedule of the current thread.
This commit is contained in:
Subv 2017-01-05 14:14:22 -05:00
parent f20d872643
commit fc2266130b
3 changed files with 14 additions and 0 deletions

View file

@ -556,6 +556,10 @@ SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) {
return thread;
}
bool HaveReadyThreads() {
return ready_queue.get_first() != nullptr;
}
void Reschedule() {
PriorityBoostStarvedThreads();