From 8a72d5231f308e1f0c41f267149c32928dab4b96 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 10 Jul 2025 09:55:46 +0200 Subject: feat: Add ownership for future audit purposes. Signed-off-by: Amlal El Mahrouss --- dev/kernel/src/BinaryMutex.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'dev/kernel/src/BinaryMutex.cc') diff --git a/dev/kernel/src/BinaryMutex.cc b/dev/kernel/src/BinaryMutex.cc index bbf7a477..8c8cdc0f 100644 --- a/dev/kernel/src/BinaryMutex.cc +++ b/dev/kernel/src/BinaryMutex.cc @@ -11,6 +11,7 @@ namespace Kernel { /***********************************************************************************/ /// @brief Unlocks the binary mutex. /***********************************************************************************/ + Bool BinaryMutex::Unlock() noexcept { if (fLockingProcess.Status == ProcessStatusKind::kRunning) { fLockingProcess = USER_PROCESS(); @@ -25,6 +26,7 @@ Bool BinaryMutex::Unlock() noexcept { /***********************************************************************************/ /// @brief Locks process in the binary mutex. /***********************************************************************************/ + Bool BinaryMutex::Lock(USER_PROCESS& process) { if (!process || this->IsLocked()) return No; @@ -36,6 +38,7 @@ Bool BinaryMutex::Lock(USER_PROCESS& process) { /***********************************************************************************/ /// @brief Checks if process is locked. /***********************************************************************************/ + Bool BinaryMutex::IsLocked() const { return this->fLockingProcess.Status == ProcessStatusKind::kRunning; } @@ -43,6 +46,7 @@ Bool BinaryMutex::IsLocked() const { /***********************************************************************************/ /// @brief Try lock or wait. /***********************************************************************************/ + Bool BinaryMutex::LockOrWait(USER_PROCESS& process, TimerInterface* timer) { if (timer == nullptr) return No; @@ -57,6 +61,7 @@ Bool BinaryMutex::LockOrWait(USER_PROCESS& process, TimerInterface* timer) { /// @brief Wait for process **sec** until we check if it's free. /// @param sec seconds. /***********************************************************************************/ + BOOL BinaryMutex::WaitForProcess(const Int16& sec) noexcept { HardwareTimer hw_timer(rtl_milliseconds(sec)); hw_timer.Wait(); -- cgit v1.2.3