diff --git a/kernel/kernel/Input/PS2/Keyboard.cpp b/kernel/kernel/Input/PS2/Keyboard.cpp index adeef1dc..8aff4426 100644 --- a/kernel/kernel/Input/PS2/Keyboard.cpp +++ b/kernel/kernel/Input/PS2/Keyboard.cpp @@ -204,7 +204,10 @@ namespace Kernel::Input while (m_event_queue.empty()) { m_event_lock.unlock(state); - TRY(Thread::current().block_or_eintr_indefinite(m_semaphore)); + { + LockFreeGuard _(m_mutex); + TRY(Thread::current().block_or_eintr_indefinite(m_semaphore)); + } state = m_event_lock.lock(); }