From 979344e9420fe409315281d7092e40b5f06cb250 Mon Sep 17 00:00:00 2001 From: ngiddings Date: Sat, 17 Apr 2021 06:30:00 -0500 Subject: [PATCH] next_process() checks if a next process exists Panics if not --- src/kernel.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kernel.c b/src/kernel.c index 4412f8f..f84c88f 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -73,8 +73,12 @@ struct process_state_t *next_process(struct kernel_t *kernel, struct process_sta queue_insert(kernel->priority_queue, kernel->active_process); } kernel->active_process = extract_min(kernel->priority_queue); - load_address_space(kernel->active_process->page_table); - load_context(kernel->active_process->state); + if(kernel->active_process != NULL) + { + load_address_space(kernel->active_process->page_table); + load_context(kernel->active_process->state); + } + panic("no processes available to enter!"); } void panic(const char *message)