Kernel: More rework on Scheduler

This commit is contained in:
Bananymous
2023-03-08 03:23:46 +02:00
parent e7a577f54a
commit 1dabe7a222
2 changed files with 17 additions and 14 deletions

View File

@@ -28,18 +28,21 @@ namespace Kernel
void wake_threads();
[[nodiscard]] bool save_current_thread();
void get_next_thread();
void remove_and_advance_current_thread();
void advance_current_thread();
[[noreturn]] void execute_current_thread();
private:
struct ActiveThread
{
ActiveThread(const BAN::RefPtr<Thread>& thread) : thread(thread) {}
BAN::RefPtr<Thread> thread;
uint64_t padding = 0;
};
struct SleepingThread
{
SleepingThread(const BAN::RefPtr<Thread>& thread, uint64_t wake_time) : thread(thread), wake_time(wake_time) {}
BAN::RefPtr<Thread> thread;
uint64_t wake_time;
};