| #ifndef _LOWLEVELLOCK_H | |
| #define _LOWLEVELLOCK_H | |
| #include <atomic.h> | |
| #include <sys/param.h> | |
| #define LLL_PRIVATE 0 | |
| #define LLL_SHARED 1 | |
| #define LLL_LOCK_INITIALIZER (0) | |
| #define lll_lock(l,p) do { } while(lll_trylock(l)) | |
| #define lll_unlock(l,p) ({ (l) = 0; 0; }) | |
| #define lll_trylock(l) __sync_lock_test_and_set(&(l), 1) | |
| #define lll_futex_wait(m,v,p) do { assert("NO FUTEX_WAIT FOR YOU!" == 0); } while(0) | |
| #define lll_futex_wake(m,n,p) do { assert("NO FUTEX_WAKE FOR YOU!" == 0); } while(0) | |
| #endif |