10 #ifndef _JANUS_MUTEX_H 11 #define _JANUS_MUTEX_H 23 #define janus_mutex_init(a) pthread_mutex_init(a,NULL) 25 #define JANUS_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER 27 #define janus_mutex_destroy(a) pthread_mutex_destroy(a) 29 #define janus_mutex_lock_nodebug(a) pthread_mutex_lock(a); 31 #define janus_mutex_lock_debug(a) { JANUS_PRINT("[%s:%s:%d:] ", __FILE__, __FUNCTION__, __LINE__); JANUS_PRINT("LOCK %p\n", a); pthread_mutex_lock(a); }; 33 #define janus_mutex_lock(a) { if(!lock_debug) { janus_mutex_lock_nodebug(a); } else { janus_mutex_lock_debug(a); } }; 35 #define janus_mutex_unlock_nodebug(a) pthread_mutex_unlock(a); 37 #define janus_mutex_unlock_debug(a) { JANUS_PRINT("[%s:%s:%d:] ", __FILE__, __FUNCTION__, __LINE__); JANUS_PRINT("UNLOCK %p\n", a); pthread_mutex_unlock(a); }; 39 #define janus_mutex_unlock(a) { if(!lock_debug) { janus_mutex_unlock_nodebug(a); } else { janus_mutex_unlock_debug(a); } }; 44 #define janus_condition_init(a) pthread_cond_init(a,NULL) 46 #define janus_condition_destroy(a) pthread_cond_destroy(a) 48 #define janus_condition_wait(a, b) pthread_cond_wait(a, b); 50 #define janus_condition_timedwait(a, b, c) pthread_cond_timedwait(a, b, c); 52 #define janus_condition_signal(a) pthread_cond_signal(a); 54 #define janus_condition_broadcast(a) pthread_cond_broadcast(a);
pthread_cond_t janus_condition
Janus condition implementation.
Definition: mutex.h:42
int lock_debug
Definition: janus.c:306
pthread_mutex_t janus_mutex
Janus mutex implementation.
Definition: mutex.h:21