CK_COHORT_INIT (3) - Linux Man Pages
CK_COHORT_INIT: initialize instance of a cohort type
NAMECK_COHORT_INIT - initialize instance of a cohort type
LIBRARYConcurrency Kit (libck, -lck)
SYNOPSISIn ck_cohort.h Fn CK_COHORT_INIT COHORT_NAME cohort_name COHORT *cohort void *global_lock void *local_lock unsigned int pass_limit
DESCRIPTIONUntil 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 Fa cohort argument will use the lock pointed to by Fa global_lock as its global lock and the lock pointed to by Fa local_lock as its local lock.
The cohort will relinquish its global lock after Fa 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 Fa pass_limit argument, you should use CK_COHORT_DEFAULT_LOCAL_PASS_LIMIT.
SEE ALSOck_cohort3, CK_COHORT_PROTOTYPE3, CK_COHORT_TRYLOCK_PROTOTYPE3, CK_COHORT_INSTANCE3, CK_COHORT_INITIALIZER3, CK_COHORT_LOCK3, CK_COHORT_UNLOCK3, CK_COHORT_LOCKED3, CK_COHORT_TRYLOCK3,
Additional information available at http://concurrencykit.org/