ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
mutex.h File Reference

Cross-platform mutex interface for ascii-chat. More...

Go to the source code of this file.

Macros

Mutex Locking Macros
#define mutex_lock(mutex)    (lock_debug_is_initialized() ? debug_mutex_lock(mutex, __FILE__, __LINE__, __func__) : mutex_lock_impl(mutex))
 Lock a mutex (with debug tracking in debug builds)
 
#define mutex_trylock(mutex)    (lock_debug_is_initialized() ? debug_mutex_trylock(mutex, __FILE__, __LINE__, __func__) : mutex_trylock_impl(mutex))
 Try to lock a mutex without blocking (with debug tracking in debug builds)
 
#define mutex_unlock(mutex)    (lock_debug_is_initialized() ? debug_mutex_unlock(mutex, __FILE__, __LINE__, __func__) : mutex_unlock_impl(mutex))
 Unlock a mutex (with debug tracking in debug builds)
 

Typedefs

typedef pthread_mutex_t mutex_t
 Mutex type (POSIX: pthread_mutex_t)
 

Functions

int debug_mutex_lock (mutex_t *mutex, const char *file_name, int line_number, const char *function_name)
 
int debug_mutex_trylock (mutex_t *mutex, const char *file_name, int line_number, const char *function_name)
 
int debug_mutex_unlock (mutex_t *mutex, const char *file_name, int line_number, const char *function_name)
 
bool lock_debug_is_initialized (void)
 
int mutex_init (mutex_t *mutex)
 Initialize a mutex.
 
int mutex_destroy (mutex_t *mutex)
 Destroy a mutex.
 
int mutex_lock_impl (mutex_t *mutex)
 Lock a mutex (implementation function)
 
int mutex_trylock_impl (mutex_t *mutex)
 Try to lock a mutex without blocking (implementation function)
 
int mutex_unlock_impl (mutex_t *mutex)
 Unlock a mutex (implementation function)
 

Detailed Description

Cross-platform mutex interface for ascii-chat.

Definition in file mutex.h.