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
       acquisitions of its local lock, even if there are other	threads	 wait-
       ing.   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_COHORT_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+14.3.quarterly>

home | help