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

FreeBSD Manual Pages

  
 
  

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

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 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_COHORT_UNLOCK(3), CK_COHORT_LOCKED(3), CK_COHORT_TRYLOCK(3),

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

			      February 24, 2013.

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO

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

home | help