Protect global data with locks
This commit is contained in:
12
locked.h
Normal file
12
locked.h
Normal file
@ -0,0 +1,12 @@
|
||||
#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_
|
Reference in New Issue
Block a user