Files
mop3/kernel/sync/spin_lock.c
kamkow1 c8fb575bdd
All checks were successful
Build ISO image / build-and-deploy (push) Successful in 2m7s
Build documentation / build-and-deploy (push) Successful in 39s
Change formatting rules
2026-04-24 01:54:48 +02:00

15 lines
400 B
C

#include <libk/std.h>
#include <sync/spin_lock.h>
#include <sys/spin_lock.h>
void spin_lock(spin_lock_t* sl, uint64_t* flags) {
spin_lock_save_flags(flags);
while (atomic_flag_test_and_set_explicit(sl, memory_order_acquire))
spin_lock_relax();
}
void spin_unlock(spin_lock_t* sl, uint64_t flags) {
atomic_flag_clear_explicit(sl, memory_order_release);
spin_lock_restore_flags(flags);
}