CK_EPOCH_POLL(3) Library Functions Manual CK_EPOCH_POLL(3)

ck_epoch_pollnon-blocking poll of epoch object for dispatch cycles

Concurrency Kit (libck, -lck)

#include <ck_epoch.h>

bool
ck_epoch_poll(ck_epoch_record_t *record);

The (3) function will attempt to dispatch any functions associated with the object pointed to by epoch via (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 functions returns false if the following conditions are met: no memory was reclaimed, the records are not in a grace period and no forward progress was made.

Behavior is undefined if the object pointed to by record has not have been previously registered via ck_epoch_register(3).

ck_epoch_init(3), ck_epoch_register(3), ck_epoch_unregister(3), ck_epoch_recycle(3), ck_epoch_synchronize(3), ck_epoch_reclaim(3), ck_epoch_barrier(3), ck_epoch_call(3), ck_epoch_begin(3), ck_epoch_end(3)

Additional information available at http://concurrencykit.org/

September 2, 2012