VLC  4.0.0-dev
Data Structures | Typedefs | Functions
Include dependency graph for vlc_queue.h:

Go to the source code of this file.

Data Structures

struct  vlc_queue
 Thread-safe queue (a.k.a. More...
 

Typedefs

typedef struct vlc_queue vlc_queue_t
 Thread-safe queue (a.k.a. More...
 

Functions

VLC_EXPORT void vlc_queue_Init (vlc_queue_t *queue, ptrdiff_t next_offset)
 Initializes a queue. More...
 
static void vlc_queue_Lock (vlc_queue_t *q)
 Locks a queue. More...
 
static void vlc_queue_Unlock (vlc_queue_t *q)
 Unlocks a queue. More...
 
static void vlc_queue_Signal (vlc_queue_t *q)
 Wakes one thread waiting for a queue entry up. More...
 
static void vlc_queue_Wait (vlc_queue_t *q)
 Waits for a queue entry. More...
 
VLC_EXPORT void vlc_queue_EnqueueUnlocked (vlc_queue_t *, void *entry)
 Queues an entry (without locking). More...
 
VLC_EXPORT void * vlc_queue_DequeueUnlocked (vlc_queue_t *)
 Dequeues the oldest entry (without locking). More...
 
VLC_EXPORT void * vlc_queue_DequeueAllUnlocked (vlc_queue_t *)
 Dequeues all entries (without locking). More...
 
static bool vlc_queue_IsEmpty (const vlc_queue_t *q)
 Checks if a queue is empty (without locking). More...
 
VLC_EXPORT void vlc_queue_Enqueue (vlc_queue_t *, void *entry)
 Queues an entry. More...
 
VLC_EXPORT void * vlc_queue_Dequeue (vlc_queue_t *)
 Dequeues the oldest entry. More...
 
VLC_EXPORT void * vlc_queue_DequeueAll (vlc_queue_t *)
 Dequeues all entries. More...
 
static void vlc_queue_Kill (vlc_queue_t *q, bool *restrict tombstone)
 Marks a queue ended. More...
 
static void * vlc_queue_DequeueKillable (vlc_queue_t *q, bool *restrict tombstone)
 Dequeues one entry from a killable queue. More...