ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
cond.h
Go to the documentation of this file.
1#pragma once
2
28#include <stdbool.h>
29#include "mutex.h"
30
31#ifdef _WIN32
32#include "windows_compat.h"
34typedef CONDITION_VARIABLE cond_t;
35#else
36#include <pthread.h>
38typedef pthread_cond_t cond_t;
39#endif
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45// ============================================================================
46// Condition Variable Functions
47// ============================================================================
48
59int cond_init(cond_t *cond);
60
72
87int cond_wait(cond_t *cond, mutex_t *mutex);
88
103int cond_timedwait(cond_t *cond, mutex_t *mutex, int timeout_ms);
104
116
128
129#ifdef __cplusplus
130}
131#endif
132
int cond_init(cond_t *cond)
Initialize a condition variable.
int cond_timedwait(cond_t *cond, mutex_t *mutex, int timeout_ms)
Wait on a condition variable with timeout.
int cond_broadcast(cond_t *cond)
Broadcast to a condition variable (wake all waiting threads)
pthread_mutex_t mutex_t
Mutex type (POSIX: pthread_mutex_t)
Definition mutex.h:38
int cond_signal(cond_t *cond)
Signal a condition variable (wake one waiting thread)
pthread_cond_t cond_t
Condition variable type (POSIX: pthread_cond_t)
Definition cond.h:38
int cond_wait(cond_t *cond, mutex_t *mutex)
Wait on a condition variable (blocking)
int cond_destroy(cond_t *cond)
Destroy a condition variable.
Cross-platform mutex interface for ascii-chat.
Wrapper for windows.h with C23 alignment compatibility.