futriix/src/fastlock.cpp
John Sully e40a203a1d move ae to C++
Former-commit-id: eb9070c8333ebe7d6e0d622f90e904c1b17e9710
2019-02-10 20:24:11 -05:00

21 lines
383 B
C++

#include "fastlock.h"
extern "C" void fastlock_init(struct fastlock *lock)
{
lock->lock = 0;
}
extern "C" void fastlock_lock(struct fastlock *lock)
{
while (!__sync_bool_compare_and_swap(&lock->lock, 0, 1));
}
extern "C" void fastlock_unlock(struct fastlock *lock)
{
lock->lock = 0;
}
extern "C" void fastlock_free(struct fastlock *lock)
{
// NOP
(void)lock;
}