Documentation Home

Destroys an jss::rcu_reader instance, and ends any read-side critical section associated with *this.

~rcu_reader();

Effects:

Destroys an jss::rcu_reader instance. Any read-side critical section associated with *this is ended.

Requires:

If *this is associated with a read-side critical section, the invocation of this destructor must be on the same thread that started the read-side critical section by constructing an jss::rcu_reader object.

Throws:

Nothing.

Synchronization:

If *this is associated with a read-side critical section, the invocation of this 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 did not happen-before the invocation of the constructor that started this read-side critical section.

If *this is associated with a read-side critical section, the invocation of this destructor happens-before the completion of any call to jss::rcu_barrier or jss::rcu_synchronize that did not happen-before the invocation of the constructor that started this read-side critical section.

See Also