summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src/UserProcessScheduler.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-27 12:10:40 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-27 12:10:40 +0100
commit97d65565f4ab1814ea76aafc66e2bae848071a7c (patch)
treee007378f4c0f23ee8e6cd9acfec022c1020e75d5 /dev/Kernel/src/UserProcessScheduler.cc
parent205605bd8eabe7cdb5ee4cb1b974d613705337a2 (diff)
Kernel: Fixes and improvements to scheduler.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/src/UserProcessScheduler.cc')
-rw-r--r--dev/Kernel/src/UserProcessScheduler.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc
index 3904c222..941ca46e 100644
--- a/dev/Kernel/src/UserProcessScheduler.cc
+++ b/dev/Kernel/src/UserProcessScheduler.cc
@@ -128,12 +128,10 @@ namespace Kernel
this->ProcessMemoryHeap->MemoryPrev = nullptr;
this->ProcessMemoryHeap->MemoryNext = nullptr;
-
- return ErrorOr<VoidPtr>(ptr);
}
else
{
- ProcessMemoryHeapList* entry = this->ProcessMemoryHeap;
+ ProcessMemoryHeapList* entry = this->ProcessMemoryHeap;
ProcessMemoryHeapList* prev_entry = nullptr;
while (!entry)
@@ -152,7 +150,9 @@ namespace Kernel
entry->MemoryNext->MemoryNext = nullptr;
}
- return ErrorOr<VoidPtr>(nullptr);
+ this->UsedMemory += sz;
+
+ return ErrorOr<VoidPtr>(ptr);
}
/***********************************************************************************/
@@ -566,13 +566,17 @@ namespace Kernel
return false;
}
+ ////////////////////////////////////////////////////////////
/// @brief this checks if any process is on the team.
+ ////////////////////////////////////////////////////////////
UserProcessScheduler::operator bool()
{
return mTeam.AsArray().Count() > 0;
}
+ ////////////////////////////////////////////////////////////
/// @brief this checks if no process is on the team.
+ ////////////////////////////////////////////////////////////
bool UserProcessScheduler::operator!()
{
return mTeam.AsArray().Count() == 0;