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

FreeBSD Manual Pages

  
 
  

home | help
NAME
     CK_COHORT_INIT -- initialize instance of a cohort type

LIBRARY
     Concurrency Kit (libck, -lck)

SYNOPSIS
     #include <ck_cohort.h>

     CK_COHORT_INIT(COHORT_NAME cohort_name, COHORT *cohort, void *global_lock,
	 void *local_lock, unsigned int pass_limit);

DESCRIPTION
     Until  a cohort instance is initialized using the CK_COHORT_INIT macro, any
     operations involving it will have undefined behavior.  After this macro has
     been called, the cohort pointed to by the cohort argument will use the lock
     pointed to by global_lock as its global lock and the  lock  pointed  to  by
     local_lock as its local lock.

     The cohort will relinquish its global lock after pass_limit consecutive ac-
     quisitions  of its local lock, even if there are other threads waiting.  If
     you are unsure of a value to use for the pass_limit  argument,  you  should
     use CK_COHORT_DEFAULT_LOCAL_PASS_LIMIT.

SEE ALSO
     ck_cohort(3),    CK_COHORT_PROTOTYPE(3),	 CK_COHORT_TRYLOCK_PROTOTYPE(3),
     CK_COHORT_INSTANCE(3), CK_COHORT_INITIALIZER(3), CK_COHORT_LOCK(3),  CK_CO-
     HORT_UNLOCK(3), CK_COHORT_LOCKED(3), CK_COHORT_TRYLOCK(3),

     Additional information available at http://concurrencykit.org/

			       February 24, 2013.	       CK_COHORT_INIT(3)

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

home | help