1 #ifndef __LUNAIX_MUTEX_H
2 #define __LUNAIX_MUTEX_H
4 #include <lunaix/types.h>
14 mutex_init(mutex_t* mutex)
16 mutex->lk = ATOMIC_VAR_INIT(0);
20 mutex_on_hold(mutex_t* mutex)
22 return atomic_load(&mutex->lk);
26 mutex_lock(mutex_t* mutex);
29 mutex_unlock(mutex_t* mutex);
32 mutex_lock_nested(mutex_t* mutex);
35 mutex_unlock_nested(mutex_t* mutex);
38 mutex_unlock_for(mutex_t* mutex, pid_t pid);
40 #endif /* __LUNAIX_MUTEX_H */