ck_epoch_recycle (3) - Linux Manuals
ck_epoch_recycle: return an epoch record that may be used by caller
NAME
ck_epoch_recycle - return an epoch record that may be used by callerLIBRARY
Concurrency Kit (libck, -lck)SYNOPSIS
In ck_epoch.h Ft ck_epoch_record_t * Fn ck_epoch_recycle ck_epoch_t *epochDESCRIPTION
The Fn ck_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 Fn 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 VALUES
This function returns a pointer to a ck_epoch_record_t object. If no unused record was found to be associated with the object pointed to by Fa epoch , then the function will return NULL.ERRORS
Behavior is undefined if the object pointed to by Fa epoch is not a valid epoch object.SEE ALSO
ck_epoch_init3, ck_epoch_register3, ck_epoch_unregister3, ck_epoch_poll3, ck_epoch_synchronize3, ck_epoch_reclaim3, ck_epoch_barrier3, ck_epoch_call3, ck_epoch_begin3, ck_epoch_end3Additional information available at http://concurrencykit.org/