VLC 4.0.0-dev

Read-Copy-Update (RCU) definitions. More...

Include dependency graph for rcu.c:

Data Structures

struct  vlc_rcu_generation
 
struct  vlc_rcu_thread
 

Functions

bool vlc_rcu_read_held (void)
 Checks if the thread is in an read-side RCU critical section. More...
 
void vlc_rcu_read_lock (void)
 Begins a read-side RCU critical section. More...
 
void vlc_rcu_read_unlock (void)
 Ends a read-side RCU critical section. More...
 
void vlc_rcu_synchronize (void)
 Waits for completion of earlier read-side RCU critical section. More...
 

Variables

static thread_local struct vlc_rcu_thread current
 
static struct vlc_rcu_generation *_Atomic generation = &gens[0]
 
static vlc_mutex_t writer_lock = { .value = ATOMIC_VAR_INIT(0), .recursion = ATOMIC_VAR_INIT(0), .owner = ATOMIC_VAR_INIT(0), }
 
static struct vlc_rcu_generation gens [2]
 

Detailed Description

Read-Copy-Update (RCU) definitions.

Variable Documentation

◆ current

◆ generation

static struct vlc_rcu_generation *_Atomic generation = &gens[0]
static

◆ gens

struct vlc_rcu_generation gens[2]
static

Referenced by vlc_rcu_synchronize().

◆ writer_lock

vlc_mutex_t writer_lock = { .value = ATOMIC_VAR_INIT(0), .recursion = ATOMIC_VAR_INIT(0), .owner = ATOMIC_VAR_INIT(0), }
static

Referenced by vlc_rcu_synchronize().