interrupt_scheduler.c 392 B

12345678910111213141516171819
  1. #include "kernel.h"
  2. #include "process.h"
  3. #include "scheduler.h"
  4. zv_process_t * zv_kernel_scheduler_select_interrupted(zv_kernel_t *self) {
  5. zv_process_t *selected = self->processes;
  6. while (selected != (self->processes + self->processes_count)) {
  7. if (selected->state == ZV_INTERRUPTED) {
  8. return selected;
  9. }
  10. ++selected;
  11. }
  12. return NULL;
  13. }