38 struct vlc_queue_entry;
45 struct vlc_queue_entry *
first;
178 return q->
first == NULL;
228 bool *restrict tombstone)
242 bool *restrict tombstone)
#define VLC_USED
Definition: fourcc_gen.c:32
#define VLC_API
Definition: fourcc_gen.c:31
void vlc_cond_signal(vlc_cond_t *cond)
Wakes up one thread waiting on a condition variable.
Definition: threads.c:203
void vlc_cond_wait(vlc_cond_t *cond, vlc_mutex_t *mutex)
Waits on a condition variable.
Definition: threads.c:290
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:159
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:105
static void * vlc_queue_DequeueKillable(vlc_queue_t *q, bool *restrict tombstone)
Dequeues one entry from a killable queue.
Definition: vlc_queue.h:242
static void vlc_queue_Kill(vlc_queue_t *q, bool *restrict tombstone)
Marks a queue ended.
Definition: vlc_queue.h:228
void * vlc_queue_DequeueAllUnlocked(vlc_queue_t *) VLC_USED
Dequeues all entries (without locking).
Definition: queue.c:116
static void vlc_queue_Lock(vlc_queue_t *q)
Locks a queue.
Definition: vlc_queue.h:87
static void vlc_queue_Wait(vlc_queue_t *q)
Waits for a queue entry.
Definition: vlc_queue.h:121
void * vlc_queue_DequeueUnlocked(vlc_queue_t *) VLC_USED
Dequeues the oldest entry (without locking).
Definition: queue.c:96
void vlc_queue_EnqueueUnlocked(vlc_queue_t *, void *entry)
Queues an entry (without locking).
Definition: queue.c:80
static void vlc_queue_Signal(vlc_queue_t *q)
Wakes one thread waiting for a queue entry up.
Definition: vlc_queue.h:107
static void vlc_queue_Unlock(vlc_queue_t *q)
Unlocks a queue.
Definition: vlc_queue.h:99
static VLC_USED bool vlc_queue_IsEmpty(const vlc_queue_t *q)
Checks if a queue is empty (without locking).
Definition: vlc_queue.h:177
void * vlc_queue_DequeueAll(vlc_queue_t *) VLC_USED
Dequeues all entries.
Definition: queue.c:151
void vlc_queue_Enqueue(vlc_queue_t *, void *entry)
Queues an entry.
Definition: queue.c:128
struct vlc_queue vlc_queue_t
Thread-safe queue (a.k.a.
void vlc_queue_Init(vlc_queue_t *queue, ptrdiff_t next_offset)
Initializes a queue.
Definition: queue.c:71
void * vlc_queue_Dequeue(vlc_queue_t *queue) VLC_USED
Dequeues the oldest entry.
Definition: queue.c:135
Definition: fourcc_gen.c:52
Condition variable.
Definition: vlc_threads.h:320
Mutex.
Definition: vlc_threads.h:193
Thread-safe queue (a.k.a.
Definition: vlc_queue.h:45
struct vlc_queue_entry * first
Definition: vlc_queue.h:46
struct vlc_queue_entry ** lastp
Definition: vlc_queue.h:47
vlc_cond_t wait
Definition: vlc_queue.h:50
vlc_mutex_t lock
Definition: vlc_queue.h:49
ptrdiff_t next_offset
Definition: vlc_queue.h:48
This file is a collection of common definitions and types.