1CK_COHORT_INIT(3)        BSD Library Functions Manual        CK_COHORT_INIT(3)
2

NAME

4     CK_COHORT_INIT — initialize instance of a cohort type
5

LIBRARY

7     Concurrency Kit (libck, -lck)
8

SYNOPSIS

10     #include <ck_cohort.h>
11
12     CK_COHORT_INIT(COHORT_NAME cohort_name, COHORT *cohort,
13         void *global_lock, void *local_lock, unsigned int pass_limit);
14

DESCRIPTION

16     Until a cohort instance is initialized using the CK_COHORT_INIT macro,
17     any operations involving it will have undefined behavior.  After this
18     macro has been called, the cohort pointed to by the cohort argument will
19     use the lock pointed to by global_lock as its global lock and the lock
20     pointed to by local_lock as its local lock.
21
22     The cohort will relinquish its global lock after pass_limit consecutive
23     acquisitions of its local lock, even if there are other threads waiting.
24     If you are unsure of a value to use for the pass_limit argument, you
25     should use CK_COHORT_DEFAULT_LOCAL_PASS_LIMIT.
26

SEE ALSO

28     ck_cohort(3), CK_COHORT_PROTOTYPE(3), CK_COHORT_TRYLOCK_PROTOTYPE(3),
29     CK_COHORT_INSTANCE(3), CK_COHORT_INITIALIZER(3), CK_COHORT_LOCK(3),
30     CK_COHORT_UNLOCK(3), CK_COHORT_LOCKED(3), CK_COHORT_TRYLOCK(3),
31
32     Additional information available at http://concurrencykit.org/
33
34                              February 24, 2013.
Impressum