NAME¶
CK_RWCOHORT_INSTANCE
—
declare an instance of a cohort-based reader-writer
lock type
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
<ck_cohort.h>
CK_RWCOHORT_NEUTRAL_INSTANCE
(
COHORT_NAME
cohort_name);
CK_RWCOHORT_RP_INSTANCE
(
COHORT_NAME
cohort_name);
CK_RWCOHORT_WP_INSTANCE
(
COHORT_NAME
cohort_name);
DESCRIPTION¶
The user must use this macro to declare instances of lock types that they have
defined using the
CK_RWCOHORT_PROTOTYPE(3) macro.
The cohort_name must be the same as the one used in the prototype macro. For
instance, if CK_RWCOHORT_PROTOTYPE was called with the name "foo",
the CK_RWCOHORT_INSTANCE macro should be called as
CK_RWCOHORT_INSTANCE(foo) cohort;
This macro should also be used when allocating memory for cohorts. For instance,
to allocate a block of 4 cohorts:
CK_RWCOHORT_WP_INSTANCE(foo) *cohorts = malloc(4 *
sizeof(CK_RWCOHORT_WP_INSTANCE(foo)));
SEE ALSO¶
ck_rwcohort(3),
CK_RWCOHORT_PROTOTYPE(3),
CK_RWCOHORT_TRYLOCK_PROTOTYPE(3),
CK_RWCOHORT_INSTANCE(3),
CK_RWCOHORT_INITIALIZER(3),
CK_RWCOHORT_LOCK(3),
CK_RWCOHORT_UNLOCK(3),
CK_RWCOHORT_LOCKED(3),
CK_RWCOHORT_TRYLOCK(3),
Additional information available at
http://concurrencykit.org/