From 055aac915186d99ec526116e634c040f12733825 Mon Sep 17 00:00:00 2001 From: Amlal Date: Mon, 23 Dec 2024 11:59:23 +0100 Subject: #4 WIP fixes (CUSA) Signed-off-by: Amlal --- dev/Kernel/src/CodeMgr.cc | 3 +++ dev/Kernel/src/UserProcessScheduler.cc | 2 +- dev/Kernel/src/Utils.cc | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'dev/Kernel/src') diff --git a/dev/Kernel/src/CodeMgr.cc b/dev/Kernel/src/CodeMgr.cc index 7946d424..3811b4eb 100644 --- a/dev/Kernel/src/CodeMgr.cc +++ b/dev/Kernel/src/CodeMgr.cc @@ -10,10 +10,13 @@ namespace Kernel { + /***********************************************************************************/ /// @brief Executes a new process from a function. Kernel code only. /// @note This sets up a new stack, anything on the main function that calls the Kernel will not be accessible. /// @param main the start of the process. /// @return if the process was started or not. + /***********************************************************************************/ + ProcessID rtl_create_process(rtl_main_kind main, const Char* process_name) noexcept { if (!process_name || diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc index cdf5dcee..4560f6eb 100644 --- a/dev/Kernel/src/UserProcessScheduler.cc +++ b/dev/Kernel/src/UserProcessScheduler.cc @@ -285,7 +285,7 @@ namespace Kernel ProcessID UserProcessScheduler::Spawn(UserProcess* process) { if (!process || - !process->Image) + !process->Image.HasCode()) { return kProcessInvalidID; } diff --git a/dev/Kernel/src/Utils.cc b/dev/Kernel/src/Utils.cc index c0574dca..277de6ce 100644 --- a/dev/Kernel/src/Utils.cc +++ b/dev/Kernel/src/Utils.cc @@ -117,9 +117,9 @@ namespace Kernel return index; } - const Char* alloc_string(const Char* text) + const Char* rt_alloc_string(const Char* text) { - if (!text) + if (!text[0]) return nullptr; const Char* string = new Char[rt_string_len(text)]; -- cgit v1.2.3