summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/KernelKit/BinaryMutex.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/KernelKit/BinaryMutex.h')
-rw-r--r--src/kernel/KernelKit/BinaryMutex.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/kernel/KernelKit/BinaryMutex.h b/src/kernel/KernelKit/BinaryMutex.h
index 2fb390d3..2388c50a 100644
--- a/src/kernel/KernelKit/BinaryMutex.h
+++ b/src/kernel/KernelKit/BinaryMutex.h
@@ -7,6 +7,7 @@
#define KERNELKIT_BINARYMUTEX_H
#include <CompilerKit/CompilerKit.h>
+#include <KernelKit/CoreProcessScheduler.h>
#include <KernelKit/Timer.h>
#include <NeKit/Config.h>
@@ -14,6 +15,7 @@ namespace Kernel {
class UserProcess;
/// @brief Access control class, which locks a task until one is done.
+/// Implements priority inheritance to prevent priority inversion.
class BinaryMutex final {
public:
using LockedPtr = UserProcess*;
@@ -36,7 +38,8 @@ class BinaryMutex final {
NE_COPY_DEFAULT(BinaryMutex)
private:
- LockedPtr fLockingProcess{nullptr};
+ LockedPtr fLockingProcess{nullptr};
+ AffinityKind fOwnerOriginalAffinity{AffinityKind::kInvalid}; // for priority inheritance
};
} // namespace Kernel