VLC 4.0.0-dev

Thread-safe queues with an end flag. More...

Collaboration diagram for Killable queues:

Functions

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, const bool *tombstone)
 Dequeues one entry from a killable queue. More...
 

Detailed Description

Thread-safe queues with an end flag.

Function Documentation

◆ vlc_queue_DequeueKillable()

static void * vlc_queue_DequeueKillable ( vlc_queue_t q,
const bool *  tombstone 
)
inlinestatic

Dequeues one entry from a killable queue.

Returns
an entry, or NULL if the queue is empty and has been ended.

References vlc_queue_DequeueUnlocked(), vlc_queue_IsEmpty(), vlc_queue_Lock(), vlc_queue_Unlock(), and vlc_queue_Wait().

Referenced by vlc_stream_fifo_Block().

◆ vlc_queue_Kill()

static void vlc_queue_Kill ( vlc_queue_t q,
bool *restrict  tombstone 
)
inlinestatic

Marks a queue ended.

References vlc_queue_Lock(), vlc_queue_Signal(), and vlc_queue_Unlock().