summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src/Semaphore.cc
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2025-01-27 10:36:44 +0100
committerAmlal <amlal.elmahrouss@icloud.com>2025-01-27 10:36:44 +0100
commit9c8942db44b5b9175fca6a588dcda7a38892cb63 (patch)
treec0ec3b78490fe24a6a76a7c8e9a08b3d81a0ee79 /dev/Kernel/src/Semaphore.cc
parent8413ad8313bdae70c15ab85f9e68415d4154ee01 (diff)
Add new type of kernel panic, patch user password hashing.
Tweak scheduler, add System Calls file too Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/src/Semaphore.cc')
-rw-r--r--dev/Kernel/src/Semaphore.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/dev/Kernel/src/Semaphore.cc b/dev/Kernel/src/Semaphore.cc
index b82efbfe..07434e75 100644
--- a/dev/Kernel/src/Semaphore.cc
+++ b/dev/Kernel/src/Semaphore.cc
@@ -10,16 +10,18 @@
namespace Kernel
{
/***********************************************************************************/
- /// @brief Unlocks process out of the semaphore.
+ /// @brief Unlocks the semaphore.
/***********************************************************************************/
Bool Semaphore::Unlock() noexcept
{
if (fLockingProcess)
- fLockingProcess = UserProcess();
- else
- return No;
+ {
+ fLockingProcess = UserProcess();
+ fLockingProcess.Status = ProcessStatusKind::kFrozen;
+ return Yes;
+ }
- return Yes;
+ return No;
}
/***********************************************************************************/
@@ -40,7 +42,7 @@ namespace Kernel
/***********************************************************************************/
Bool Semaphore::IsLocked() const
{
- return fLockingProcess;
+ return fLockingProcess->Status == ProcessStatusKind::kRunning;
}
/***********************************************************************************/