|
NAMEck_epoch_recycle —
return an epoch record that may be used by caller
LIBRARYConcurrency Kit (libck, -lck)SYNOPSIS#include <ck_epoch.h>
ck_epoch_record_t *
DESCRIPTIONTheck_epoch_recycle (3) function
attempts to return an unused epoch record object for use by the caller. These
epoch records were associated with previous calls to the
ck_epoch_unregister (3) function.
EXAMPLE#include <ck_epoch.h> #include <stdlib.h> /* * epoch was previously initialized with ck_epoch_init. */ ck_epoch_t *epoch; void function(void) { ck_epoch_record_t *record; record = ck_epoch_recycle(&epoch); if (record == NULL) { record = malloc(sizeof *record); if (record == NULL) return; ck_epoch_register(&epoch, record); } /* * After we are done, we will unregister the record so it * can be used by other new participants in the epoch system * provided by the object pointed to by "epoch". */ ck_epoch_unregister(&epoch, record); return; } RETURN VALUESThis function returns a pointer to ack_epoch_record_t
object. If no unused record was found to be associated with the object pointed
to by epoch, then the function will return NULL.
ERRORSBehavior is undefined if the object pointed to by epoch is not a valid epoch object.SEE ALSOck_epoch_init(3), ck_epoch_register(3), ck_epoch_unregister(3), ck_epoch_poll(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/
Visit the GSP FreeBSD Man Page Interface. |