From d4b36a7c7d127cf14440b451791c88ee7fb16ccb Mon Sep 17 00:00:00 2001 From: ngiddings Date: Tue, 5 Jul 2022 15:18:51 -0500 Subject: [PATCH] Return the previous process to queue after context switch --- src/kernel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kernel.c b/src/kernel.c index df99c06..0aa1eb6 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -221,6 +221,10 @@ int add_process(void *program_entry, int priority, physaddr_t address_space) struct process_context_t *next_process() { + if(kernel.active_process != NULL) + { + queue_insert(&kernel.priority_queue, kernel.active_process, kernel.active_process->priority); + } kernel.active_process = extract_min(&kernel.priority_queue); if(kernel.active_process != NULL) {