diff options
Diffstat (limited to 'src/kernel/KernelKit/BinaryMutex.h')
| -rw-r--r-- | src/kernel/KernelKit/BinaryMutex.h | 5 |
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 |
