summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/Sources
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-30 20:02:24 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-30 20:02:24 +0200
commit8a4f0e988a901e4fce5d32e3d5f9dbdc5f309863 (patch)
tree90e08d1056e99b20d694a8f38e5be4584d340c75 /dev/ZKA/Sources
parent4bc0d37c17a56db17b19f3d2d410475d61e8f159 (diff)
A set of fixes regarding the scheduler and code manager.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKA/Sources')
-rw-r--r--dev/ZKA/Sources/CodeManager.cxx7
-rw-r--r--dev/ZKA/Sources/ProcessScheduler.cxx7
2 files changed, 5 insertions, 9 deletions
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);
}