13 lines
316 B
C
13 lines
316 B
C
#ifndef LOCKED_H_
|
|
#define LOCKED_H_
|
|
|
|
#include <pthread.h>
|
|
|
|
#define locked_init(x) { .value = (x), .lock = PTHREAD_MUTEX_INITIALIZER }
|
|
#define locked(T) struct { T value; pthread_mutex_t lock; }
|
|
|
|
#define lockx(x) pthread_mutex_lock(&(x)->lock)
|
|
#define unlockx(x) pthread_mutex_unlock(&(x)->lock)
|
|
|
|
#endif // LOCKED_H_
|