ck_epoch_begin man page

ck_epoch_begin ā€” begin epoch-protected segment of execution


Concurrency Kit (libck, -lck)


#include <ck_epoch.h>

ck_epoch_begin(ck_epoch_record_t *record, ck_epoch_section_t *section);


The ck_epoch_begin(3) function will mark the beginning of an epoch-protected 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.


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 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_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

Referenced By

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

September 2, 2012