From a14884dd33170b4e87ed566285def33f23953a7d Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 26 Oct 2020 16:48:51 -0600 Subject: [PATCH] Kernel: Lock needs to call Processor::wait_check while looping We need to process SMP messages while looping. --- Kernel/Lock.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Kernel/Lock.cpp b/Kernel/Lock.cpp index 1aaad518cb..720f6ae8b1 100644 --- a/Kernel/Lock.cpp +++ b/Kernel/Lock.cpp @@ -80,6 +80,9 @@ void Lock::lock(Mode mode) // Note, we may now be on a different CPU! Processor::current().restore_critical(prev_crit, prev_flags); + } else { + // We need to process e.g. smp messages + Processor::wait_check(); } } }