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

FreeBSD Manual Pages

  
 
  

home | help
CK_EPOCH_RECLAIM(3)	 BSD Library Functions Manual	   CK_EPOCH_RECLAIM(3)

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

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLE | RETURN VALUES | SEE ALSO

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

home | help