64 #include "gw-config.h" 67 #error "You need POSIX.1 threads and <pthread.h> header file" 93 #define mutex_create() gw_claim_area(mutex_create_measured(mutex_create_real(), \ 96 #define mutex_create() gw_claim_area(mutex_create_real()) 112 #define mutex_init_static(mutex) \ 113 mutex_create_measured(mutex_init_static_real(mutex), __FILE__, __LINE__) 115 #define mutex_init_static(mutex) \ 116 mutex_init_static_real(mutex) 130 #define mutex_lock(m) mutex_lock_real(m, __FILE__, __LINE__, __func__) 136 #define mutex_unlock(m) mutex_unlock_real(m, __FILE__, __LINE__, __func__) 144 #define mutex_trylock(m) mutex_trylock_real(m, __FILE__, __LINE__, __func__) int mutex_trylock_real(Mutex *mutex, const char *file, int line, const char *func)
static Mutex locks[NUM_LOCKS]
void mutex_lock_real(Mutex *mutex, char *file, int line, const char *func)
Mutex * mutex_init_static_real(Mutex *mutex)
Mutex * mutex_create_real(void)
char filename[FILENAME_MAX+1]
int mutex_unlock_real(Mutex *mutex, char *file, int line, const char *func)
void mutex_destroy(Mutex *mutex)
Mutex * mutex_create_measured(Mutex *mutex, char *filename, int lineno)