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