ck_epoch_poll(3) non-blocking poll of epoch object for dispatch cycles


Concurrency Kit (libck, -lck)


In ck_epoch.h Ft bool Fn ck_epoch_poll ck_epoch_t *epoch ck_epoch_record_t *record


The Fn ck_epoch_poll 3 function will attempt to dispatch any functions associated with the object pointed to by Fa epoch via Fn ck_epoch_call 3 if deemed safe. This function is meant to be used in cases epoch reclamation cost must be amortized over time in a manner that does not affect caller progress.


This function will return true if at least one function was dispatched. This function will return false if it has determined not all threads have observed the latest generation of epoch-protected objects. Neither value indicates an error.


Behavior is undefined if the object pointed to by Fa epoch is not a valid epoch object. The object pointed to by Fa record must have been previously registered via Fn ck_epoch_register 3 .