Kernel: Avoid possible dead lock while sending smp messages
Process own events while waiting for space on another processor. This fixes a dead lock when processors are sending messages to each other
This commit is contained in:
@@ -464,7 +464,7 @@ namespace Kernel
|
|||||||
auto* storage = processor.m_smp_free.exchange(nullptr);
|
auto* storage = processor.m_smp_free.exchange(nullptr);
|
||||||
while (storage == nullptr)
|
while (storage == nullptr)
|
||||||
{
|
{
|
||||||
__builtin_ia32_pause();
|
Processor::pause();
|
||||||
storage = processor.m_smp_free.exchange(nullptr);
|
storage = processor.m_smp_free.exchange(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user