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 callbacks
     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_bar-
     rier(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+15.1.quarterly>

home | help