Manual Pages


CK_EPOCH_BEGIN(3)        BSD Library Functions Manual        CK_EPOCH_BEGIN(3)

NAME
     ck_epoch_begin -- begin epoch-protected segment of execution

LIBRARY
     Concurrency Kit (libck, -lck)

SYNOPSIS
     #include <ck_epoch.h>

     void
     ck_epoch_begin(ck_epoch_record_t *record, ck_epoch_section_t *section);

DESCRIPTION
     The ck_epoch_begin(3) function will mark the beginning of an epoch-pro-
     tected code section.  An epoch-protected code section is delimited by a
     call to the ck_epoch_end(3) function. Though recursion is allowed for
     epoch-protected sections, recursive calls will be associated with the
     ck_epoch_begin(3) that is at the top of the call stack. If a section is
     passed, then recursion on a record will cause the epoch to be refreshed
     on entry of every protected section.

RETURN VALUES
     This function has no return value.

ERRORS
     The object pointed to by epoch must have been previously initiated via
     ck_epoch_init(3).  The object pointed to by record must have been previ-
     ously 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_poll(3), ck_epoch_synchronize(3),
     ck_epoch_reclaim(3), ck_epoch_barrier(3), ck_epoch_call(3),
     ck_epoch_end(3)

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

                               September 2, 2012