diff options
| author | Amlal <amlal@el-mahrouss-logic.com> | 2024-09-09 16:49:28 +0200 |
|---|---|---|
| committer | Amlal <amlal@el-mahrouss-logic.com> | 2024-09-09 16:49:28 +0200 |
| commit | 6dbc74799f465eec249e2d8f01a472d0dd3b33c8 (patch) | |
| tree | 53ef934c936537424e1b8d2469cf12fd421234e3 /dev/ZKA/Sources/HardwareThreadScheduler.cxx | |
| parent | 6274e822da7790961dc8f587cd83645f06e79245 (diff) | |
FIX: Scheduler improvements, MM improvements, worked on a tiny bmp allocator for pages.
Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/ZKA/Sources/HardwareThreadScheduler.cxx')
| -rw-r--r-- | dev/ZKA/Sources/HardwareThreadScheduler.cxx | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/dev/ZKA/Sources/HardwareThreadScheduler.cxx b/dev/ZKA/Sources/HardwareThreadScheduler.cxx index e5947357..22a69b9b 100644 --- a/dev/ZKA/Sources/HardwareThreadScheduler.cxx +++ b/dev/ZKA/Sources/HardwareThreadScheduler.cxx @@ -43,6 +43,14 @@ namespace Kernel //! @brief is the thread busy? Bool HardwareThread::IsBusy() noexcept { + STATIC Int64 busy_timer = 0U; + + if (busy_timer > this->fPTime) + { + busy_timer = 0U; + fBusy = No; + } + return fBusy; } @@ -95,16 +103,17 @@ namespace Kernel if (!this->IsWakeup()) return No; - fStack = frame; - if (this->IsBusy()) - return false; + return No; - kcout << "Registering process bank...\r"; + fStack = frame; + + kcout << "Trying to register progress...\r"; - this->Busy(true); Bool ret = mp_register_process(image, stack_ptr, fStack); - this->Busy(false); + + if (ret) + this->Busy(true); return ret; } |
