summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/UserProcessScheduler.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-09-04 10:15:05 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-09-04 10:15:05 +0200
commitbe11411ae7c2f6a2eda84abf56521d38a8b80b7e (patch)
treee42a87f76dee6a123ba02f2014f563464af93ba9 /dev/kernel/src/UserProcessScheduler.cc
parentce27bc968ba425eaa7f27091b704b6519b4b978b (diff)
feat&fix: Kernel improvements and fixes, introduced `special` trees.
fix: Protective measures against affinity `zero` processes. wip: WIP introduce `CFDictionary` object inside CF. fix: public tooling fixes. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/UserProcessScheduler.cc')
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc
index 15da4431..174862a4 100644
--- a/dev/kernel/src/UserProcessScheduler.cc
+++ b/dev/kernel/src/UserProcessScheduler.cc
@@ -587,6 +587,7 @@ ErrorOr<ProcessID> UserProcessHelper::TheCurrentPID() {
/// @retval false cannot be schedulded.
Bool UserProcessHelper::CanBeScheduled(const USER_PROCESS& process) {
if (process.Status != ProcessStatusKind::kRunning) return No;
+ if (process.Affinity == AffinityKind::kInvalid) return No;
if (process.StackSize > kSchedMaxStackSz) return No;
if (!process.Name[0]) return No;