diff options
| author | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-30 20:02:24 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-30 20:02:24 +0200 |
| commit | 8a4f0e988a901e4fce5d32e3d5f9dbdc5f309863 (patch) | |
| tree | 90e08d1056e99b20d694a8f38e5be4584d340c75 /dev | |
| parent | 4bc0d37c17a56db17b19f3d2d410475d61e8f159 (diff) | |
A set of fixes regarding the scheduler and code manager.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/ZKA/KernelKit/ProcessScheduler.hxx | 4 | ||||
| -rw-r--r-- | dev/ZKA/Sources/CodeManager.cxx | 7 | ||||
| -rw-r--r-- | dev/ZKA/Sources/ProcessScheduler.cxx | 7 |
3 files changed, 7 insertions, 11 deletions
diff --git a/dev/ZKA/KernelKit/ProcessScheduler.hxx b/dev/ZKA/KernelKit/ProcessScheduler.hxx index e0dc326b..b0756522 100644 --- a/dev/ZKA/KernelKit/ProcessScheduler.hxx +++ b/dev/ZKA/KernelKit/ProcessScheduler.hxx @@ -167,14 +167,14 @@ namespace Kernel enum { - kAppKind = 1, + kExeKind = 1, kSharedObjectKind = 2, kKindCount, }; ProcessTime PTime{0}; PID ProcessId{kSchedInvalidPID}; - Int32 Kind{kAppKind}; + Int32 Kind{kExeKind}; public: //! @brief boolean operator, check status. diff --git a/dev/ZKA/Sources/CodeManager.cxx b/dev/ZKA/Sources/CodeManager.cxx index 4d478a7a..47625ac1 100644 --- a/dev/ZKA/Sources/CodeManager.cxx +++ b/dev/ZKA/Sources/CodeManager.cxx @@ -20,11 +20,10 @@ namespace Kernel return false; PROCESS_HEADER_BLOCK proc((VoidPtr)main); - proc.Kind = PROCESS_HEADER_BLOCK::kAppKind; + proc.Kind = PROCESS_HEADER_BLOCK::kExeKind; rt_copy_memory((VoidPtr)processName, proc.Name, rt_string_len(proc.Name)); + proc.Image = (VoidPtr)main; - Ref<PROCESS_HEADER_BLOCK> refProc{proc}; - - return ProcessScheduler::The().Leak().Add(refProc); + return ProcessScheduler::The().Leak().Add(proc); } } // namespace Kernel diff --git a/dev/ZKA/Sources/ProcessScheduler.cxx b/dev/ZKA/Sources/ProcessScheduler.cxx index bf2cdbd3..579294fb 100644 --- a/dev/ZKA/Sources/ProcessScheduler.cxx +++ b/dev/ZKA/Sources/ProcessScheduler.cxx @@ -215,10 +215,7 @@ namespace Kernel { if (!process.Leak().Image) { - if (process.Leak().Kind != PROCESS_HEADER_BLOCK::kSharedObjectKind) - { - return -kErrorNoEntrypoint; - } + return -kErrorInvalidData; } if (mTeam.AsArray().Count() > kSchedProcessLimitPerTeam) @@ -227,7 +224,7 @@ namespace Kernel kcout << "ProcessScheduler: Adding process to team...\r"; // Create heap according to type of process. - if (process.Leak().Kind == PROCESS_HEADER_BLOCK::kAppKind) + if (process.Leak().Kind == PROCESS_HEADER_BLOCK::kExeKind) { process.Leak().HeapPtr = mm_new_ke_heap(process.Leak().SizeMemory, true, true); } |
