1 #ifndef __LUNAIX_MUTEX_H
2 #define __LUNAIX_MUTEX_H
5 #include <lunaix/types.h>
14 mutex_init(mutex_t* mutex)
16 sem_init(&mutex->sem, 1);
20 mutex_on_hold(mutex_t* mutex)
22 return !atomic_load(&mutex->sem.counter);
26 mutex_lock(mutex_t* mutex);
29 mutex_unlock(mutex_t* mutex);
32 mutex_unlock_for(mutex_t* mutex, pid_t pid);
34 #endif /* __LUNAIX_MUTEX_H */