summaryrefslogtreecommitdiffhomepage
path: root/Kernel/Sources/ProcessScheduler.cxx
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-14 00:54:15 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-14 00:54:15 +0200
commitf0d8e3acd48c70f49e5b59a653045405b1e9a062 (patch)
tree6c0cb370a0c10347112a13b7cbae1fd6dff51cc6 /Kernel/Sources/ProcessScheduler.cxx
parent7efcf975fe61b2d20d2379f6151b6cdd99391dff (diff)
[IMP] Add SizeMemory field inside PROCESS_HEADER_BLOCK. (min 4GB)
[FIX] Fix ProcessHeap allocation, making sure that we know everything from it. [IMP] Add new fields to PROCESS_HEAP_HEADER struct. [META] Refactor repository. Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Kernel/Sources/ProcessScheduler.cxx')
-rw-r--r--Kernel/Sources/ProcessScheduler.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/Kernel/Sources/ProcessScheduler.cxx b/Kernel/Sources/ProcessScheduler.cxx
index 4d421ee4..7bd3f7f1 100644
--- a/Kernel/Sources/ProcessScheduler.cxx
+++ b/Kernel/Sources/ProcessScheduler.cxx
@@ -226,19 +226,19 @@ namespace Kernel
kcout << "ProcessScheduler:: adding process to team...\r";
- /// Create heap according to type of process.
+ // Create heap according to type of process.
if (process.Leak().Kind == PROCESS_HEADER_BLOCK::kAppKind)
{
- process.Leak().HeapPtr = sched_new_heap(kUserHeapUser | kUserHeapRw);
+ process.Leak().HeapPtr = sched_new_heap(kProcessHeapUser | kProcessHeapRw, process.Leak().SizeMemory);
}
else if (process.Leak().Kind == PROCESS_HEADER_BLOCK::kSharedObjectKind)
{
process.Leak().DLLPtr = rtl_init_shared_object(&process.Leak());
- process.Leak().HeapPtr = sched_new_heap(kUserHeapUser | kUserHeapRw | kUserHeapShared);
+ process.Leak().HeapPtr = sched_new_heap(kProcessHeapUser | kProcessHeapRw | kProcessHeapShared, process.Leak().SizeMemory);
}
else
{
- // something went wrong, do not continue, process kind is incorrect.
+ // Something went wrong, do not continue, process may be incorrect.
process.Leak().Crash();
return -kErrorProcessFault;
}