Files
MontaukOS/kernel/src/CppLib/Spinlock.cpp
T
2026-02-22 10:53:30 +01:00

19 lines
371 B
C++

/*
* Spinlock.cpp
* C++ Spinlock
* Copyright (c) 2025 Daniel Hammer
*/
#include "Spinlock.hpp"
namespace kcp {
void Spinlock::Acquire() {
while (atomic_flag.test_and_set(std::memory_order_acquire)) {
asm volatile("pause");
}
}
void Spinlock::Release() {
atomic_flag.clear(std::memory_order_release);
}
};