1CK_COHORT_PROTOTYPE(3) BSD Library Functions Manual CK_COHORT_PROTOTYPE(3)
2
4 CK_COHORT_PROTOTYPE — define cohort type with specified lock types
5
7 Concurrency Kit (libck, -lck)
8
10 #include <ck_cohort.h>
11
12 CK_COHORT_PROTOTYPE(COHORT_NAME cohort_name, TYPE global_lock_method,
13 LOCK_FXN global_unlock_method, LOCK_FXN local_lock_method,
14 LOCK_FXN local_unlock_method);
15
17 The ck_cohort.h header file does not define any cohort types. Instead,
18 the user must use the CK_COHORT_PROTOTYPE or
19 CK_COHORT_TRYLOCK_PROTOTYPE(3) macros to define any types they want to
20 use. They must use CK_COHORT_TRYLOCK_PROTOTYPE if they want their cohort
21 type to support trylock operations. The CK_COHORT_PROTOTYPE macro takes
22 the following arguments:
23
24 cohort_name : An identifier used for this cohort type. This will have to
25 be passed to each of the other CK_COHORT macros.
26 global_lock_method : The method that should be called to acquire the
27 global lock
28 global_unlock_method : The method that should be called to relinquish the
29 global lock
30 local_lock_method : The method that should be called to acquire the local
31 lock
32 local_unlock_method : The method that should be called to relinquish the
33 local lock
34
35 Instances of the defined cohort type can be declared as:
36 CK_COHORT_INSTANCE(cohort_name) cohort;
37
39 ck_cohort(3), CK_COHORT_TRYLOCK_PROTOTYPE(3), CK_COHORT_INSTANCE(3),
40 CK_COHORT_INITIALIZER(3), CK_COHORT_INIT(3), CK_COHORT_LOCK(3),
41 CK_COHORT_UNLOCK(3), CK_COHORT_LOCKED(3), CK_COHORT_TRYLOCK(3),
42
43 Additional information available at http://concurrencykit.org/
44
45 February 24, 2013.