#include "kernel.h" #include "scheduler.h" #ifndef ZV_FULL_DISABLE_NON_BALANCED_PRIORITY zv_process_t * zv_kernel_non_balanced_priority(zv_kernel_t *self) { zv_process_t *selected = NULL; for ( zv_process_t *current = self->processes; current != (self->processes + self->processes_count); ++current ) { if (!zv_process_is_ready(current)) { continue; } if (selected == NULL) { selected = current; continue; } if (current->priority < selected->priority) { selected = current; continue; } } return selected; } #else zv_process_t * zv_kernel_non_balanced_priority(zv_kernel_t *self) { return NULL; } #endif