]> git.sesse.net Git - bcachefs-tools-debian/blob - c_src/include/linux/mutex.h
801f06e176aab27c667eb8f2af9fda6cf3e36cb2
[bcachefs-tools-debian] / c_src / include / linux / mutex.h
1 #ifndef __TOOLS_LINUX_MUTEX_H
2 #define __TOOLS_LINUX_MUTEX_H
3
4 #include <pthread.h>
5
6 struct mutex {
7         pthread_mutex_t lock;
8 };
9
10 #define DEFINE_MUTEX(mutexname) \
11         struct mutex mutexname = { .lock = PTHREAD_MUTEX_INITIALIZER }
12
13 #define mutex_init(l)           pthread_mutex_init(&(l)->lock, NULL)
14 #define mutex_lock(l)           pthread_mutex_lock(&(l)->lock)
15 #define mutex_trylock(l)        (!pthread_mutex_trylock(&(l)->lock))
16 #define mutex_unlock(l)         pthread_mutex_unlock(&(l)->lock)
17
18 #endif /* __TOOLS_LINUX_MUTEX_H */