Upgrade to gcc-4.9.2
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.14.1-ros / sysdeps / akaros / lowlevellock.h
1 #ifndef _LOWLEVELLOCK_H
2 #define _LOWLEVELLOCK_H
3
4 #include <atomic.h>
5 #include <sys/param.h>
6
7 #define LLL_PRIVATE 0
8 #define LLL_SHARED 1
9
10 #define LLL_LOCK_INITIALIZER (0)
11
12 #define lll_lock(l,p) do { } while(lll_trylock(l))
13 #define lll_unlock(l,p) ({ (l) = 0; 0; })
14 #define lll_trylock(l) __sync_lock_test_and_set(&(l), 1)
15
16 #define lll_futex_wait(m,v,p) do { assert("NO FUTEX_WAIT FOR YOU!" == 0); } while(0)
17 #define lll_futex_wake(m,n,p) do { assert("NO FUTEX_WAKE FOR YOU!" == 0); } while(0)
18
19 #endif