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

Cross-platform read-write lock interface for ascii-chat. More...

Go to the source code of this file.

Macros

Read-Write Lock Macros
#define rwlock_rdlock(lock)    (lock_debug_is_initialized() ? debug_rwlock_rdlock(lock, __FILE__, __LINE__, __func__) : rwlock_rdlock_impl(lock))
 Acquire a read lock (with debug tracking in debug builds)
 
#define rwlock_wrlock(lock)    (lock_debug_is_initialized() ? debug_rwlock_wrlock(lock, __FILE__, __LINE__, __func__) : rwlock_wrlock_impl(lock))
 Acquire a write lock (with debug tracking in debug builds)
 
#define rwlock_rdunlock(lock)    (lock_debug_is_initialized() ? debug_rwlock_rdunlock(lock, __FILE__, __LINE__, __func__) : rwlock_rdunlock_impl(lock))
 Release a read lock (with debug tracking in debug builds)
 
#define rwlock_wrunlock(lock)    (lock_debug_is_initialized() ? debug_rwlock_wrunlock(lock, __FILE__, __LINE__, __func__) : rwlock_wrunlock_impl(lock))
 Release a write lock (with debug tracking in debug builds)
 

Typedefs

typedef pthread_rwlock_t rwlock_t
 Read-write lock type (POSIX: pthread_rwlock_t)
 

Functions

bool lock_debug_is_initialized (void)
 
int debug_rwlock_rdlock (rwlock_t *rwlock, const char *file_name, int line_number, const char *function_name)
 
int debug_rwlock_wrlock (rwlock_t *rwlock, const char *file_name, int line_number, const char *function_name)
 
int debug_rwlock_rdunlock (rwlock_t *rwlock, const char *file_name, int line_number, const char *function_name)
 
int debug_rwlock_wrunlock (rwlock_t *rwlock, const char *file_name, int line_number, const char *function_name)
 
int rwlock_init (rwlock_t *lock)
 Initialize a read-write lock.
 
int rwlock_destroy (rwlock_t *lock)
 Destroy a read-write lock.
 
int rwlock_init_impl (rwlock_t *lock)
 Initialize a read-write lock (implementation function)
 
int rwlock_destroy_impl (rwlock_t *lock)
 Destroy a read-write lock (implementation function)
 
int rwlock_rdlock_impl (rwlock_t *lock)
 Acquire a read lock (implementation function)
 
int rwlock_wrlock_impl (rwlock_t *lock)
 Acquire a write lock (implementation function)
 
int rwlock_rdunlock_impl (rwlock_t *lock)
 Release a read lock (implementation function)
 
int rwlock_wrunlock_impl (rwlock_t *lock)
 Release a write lock (implementation function)
 

Detailed Description

Cross-platform read-write lock interface for ascii-chat.

Definition in file rwlock.h.