Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NAME
       ck_epoch_reclaim	-- immediately execute all deferred callbacks

LIBRARY
       Concurrency Kit (libck, -lck)

SYNOPSIS
       #include	<ck_epoch.h>

       void
       ck_epoch_reclaim(ck_epoch_record_t *record);

DESCRIPTION
       The ck_epoch_reclaim(3) function	will unconditionally execute all call-
       backs that have been deferred with ck_epoch_call(3).

EXAMPLE
	     #include <ck_epoch.h>
	     #include <ck_stack.h>
	     #include <stdlib.h>

	     /*
	      *	epoch was previously initialized with ck_epoch_init.
	      */
	     ck_epoch_t	*epoch;

	     void
	     function(void)
	     {
		     ck_epoch_record_t *record;

		     logically_delete(object);
		     ck_epoch_call(epoch, record, &object->epoch_entry,	destructor);

		     /*
		      *	Wait until no threads could possibly have a reference to the
		      *	object we just deleted.
		      */
		     ck_epoch_synchronize(epoch, record);

		     /*
		      *	Execute	all deferred callbacks.
		      */
		     ck_epoch_reclaim(record);

		     return;
	     }

RETURN VALUES
       This function has no return value.

SEE ALSO
       ck_epoch_init(3),     ck_epoch_register(3),     ck_epoch_unregister(3),
       ck_epoch_recycle(3),	  ck_epoch_poll(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/

				  May 2, 2013		   CK_EPOCH_RECLAIM(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ck_epoch_reclaim&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help