Manual Pages


CK_EPOCH_POLL(3)         BSD Library Functions Manual         CK_EPOCH_POLL(3)

NAME
     ck_epoch_poll -- non-blocking poll of epoch object for dispatch cycles

LIBRARY
     Concurrency Kit (libck, -lck)

SYNOPSIS
     #include <ck_epoch.h>

     bool
     ck_epoch_poll(ck_epoch_t *epoch, ck_epoch_record_t *record);

DESCRIPTION
     The ck_epoch_poll(3) function will attempt to dispatch any functions
     associated with the object pointed to by epoch via 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.

RETURN VALUES
     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.

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

SEE ALSO
     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