*/
static pthread_mutex_t rcu_registry_lock = PTHREAD_MUTEX_INITIALIZER;
struct urcu_gp urcu_qsbr_gp = { .ctr = URCU_QSBR_GP_ONLINE };
*/
static pthread_mutex_t rcu_registry_lock = PTHREAD_MUTEX_INITIALIZER;
struct urcu_gp urcu_qsbr_gp = { .ctr = URCU_QSBR_GP_ONLINE };
/*
* Wait for readers to observe original parity or be quiescent.
* wait_for_readers() can release and grab again rcu_registry_lock
/*
* Wait for readers to observe original parity or be quiescent.
* wait_for_readers() can release and grab again rcu_registry_lock
/*
* Wait for readers to observe new parity or be quiescent.
* wait_for_readers() can release and grab again rcu_registry_lock
/*
* Wait for readers to observe new parity or be quiescent.
* wait_for_readers() can release and grab again rcu_registry_lock
/*
* Wait for readers to observe new count of be quiescent.
* wait_for_readers() can release and grab again rcu_registry_lock
/*
* Wait for readers to observe new count of be quiescent.
* wait_for_readers() can release and grab again rcu_registry_lock
void rcu_read_ongoing_qsbr();
void urcu_qsbr_quiescent_state(void)
{
_urcu_qsbr_quiescent_state();
}
void rcu_read_ongoing_qsbr();
void urcu_qsbr_quiescent_state(void)
{
_urcu_qsbr_quiescent_state();
}
void rcu_quiescent_state_qsbr();
void urcu_qsbr_thread_offline(void)
{
_urcu_qsbr_thread_offline();
}
void rcu_quiescent_state_qsbr();
void urcu_qsbr_thread_offline(void)
{
_urcu_qsbr_thread_offline();
}
void rcu_thread_offline_qsbr();
void urcu_qsbr_thread_online(void)
{
_urcu_qsbr_thread_online();
}
void rcu_thread_offline_qsbr();
void urcu_qsbr_thread_online(void)
{
_urcu_qsbr_thread_online();
}