CK_COHORT_INIT — initialize instance of a cohort type
Contents
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.
Library
Concurrency Kit (libck, -lck)
Name
CK_COHORT_INIT — initialize instance of a cohort type
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)
Synopsis
#include<ck_cohort.h>CK_COHORT_INIT(COHORT_NAMEcohort_name, COHORT*cohort, void*global_lock, void*local_lock,
unsignedintpass_limit);
