From 78772d95f14818efadc676651d30b04f6ae57c7d Mon Sep 17 00:00:00 2001 From: Amlal Date: Sun, 22 Dec 2024 16:50:01 +0100 Subject: IMPL: Issue #4 Fixing a bug within the scheduler, which causes a SIGKILL to happen. Signed-off-by: Amlal --- dev/Kernel/src/UserProcessScheduler.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'dev/Kernel/src/UserProcessScheduler.cc') diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc index d6e27bd6..cdf5dcee 100644 --- a/dev/Kernel/src/UserProcessScheduler.cc +++ b/dev/Kernel/src/UserProcessScheduler.cc @@ -284,7 +284,8 @@ namespace Kernel ProcessID UserProcessScheduler::Spawn(UserProcess* process) { - if (!process) + if (!process || + !process->Image) { return kProcessInvalidID; } @@ -522,7 +523,7 @@ namespace Kernel Bool UserProcessHelper::Switch(VoidPtr image_ptr, UInt8* stack, HAL::StackFramePtr frame_ptr, const PID& new_pid) { - if (!stack || !frame_ptr || !image_ptr || new_pid < 0) + if (!stack || !frame_ptr || !image_ptr) return No; if (!mm_is_valid_heap(image_ptr)) -- cgit v1.2.3