void blocked_reschedule(void)
Mark the current task as blocked and reschedule.
__nodiscard bool reschedule_for_waitlist(waitlist_t *waitlist)
void unblock_scheduler(void)
Unblock the scheduler, so that APs can start scheduling.
void enter_scheduler(void)
Enter the scheduler and switch to the next thread.
void scheduler_wake_thread(thread_t *thread)
Wake a thread.
void reschedule(void)
reschedule.
char thread_state_str(thread_state_t state)
void scheduler_add_thread(thread_t *thread)
Add a thread to the scheduler, so that it can be scheduled.
void scheduler_remove_thread(thread_t *thread)
Remove a thread from the scheduler.
__BEGIN_DECLS void tasks_init()