GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CK_EPOCH_RECYCLE(3) FreeBSD Library Functions Manual CK_EPOCH_RECYCLE(3)

ck_epoch_recycle
return an epoch record that may be used by caller

Concurrency Kit (libck, -lck)

#include <ck_epoch.h>

ck_epoch_record_t *
ck_epoch_recycle(ck_epoch_t *epoch);

The 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 ck_epoch_unregister(3) function.

#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;
}

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 epoch, then the function will return NULL.

Behavior is undefined if the object pointed to by epoch is not a valid epoch object.

ck_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/

September 2, 2012

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.