Documentation Home

Construct a new jss::rcu_reader object, and starts a read-side critical section for the current thread. This prevents concurrent reclamation of objects marked for reclamation with calls to jss::rcu_retire or jss::rcu_obj_base::retire.

rcu_reader();

Effects:

Constructs a jss::rcu_reader instance. A read-side critical section for the current thread is started.

Throws:

Nothing.

Synchronization:

The end of the read-side critical section associated with *this (see the jss::rcu_reader destructor) happens-before the reclamation of any objects registered with a call to jss::rcu_retire or jss::rcu_obj_base::retire where those calls to jss::rcu_retire or jss::rcu_obj_base::retire do not happen-before the invocation of this constructor.

The end of the read-side critical section associated with *this (see the jss::rcu_reader destructor) happens-before the completion of any call to jss::rcu_barrier or jss::rcu_synchronize that does not happen-before the invocation of this constructor.

See Also