Files
RockOS/kernel/lib/tasks.c

11 lines
235 B
C
Raw Normal View History

#include <lib/tasks.h>
void spin_lock(spinlock_t *lock) {
while (__sync_lock_test_and_set(&lock->locked, 1)) {
asm volatile("pause");
}
}
void spin_unlock(spinlock_t *lock) {
__sync_lock_release(&lock->locked);
}