CK_RWCOHORT_INSTANCE - Man Page

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/

Referenced By

CK_RWCOHORT_INIT(3), CK_RWCOHORT_PROTOTYPE(3), CK_RWCOHORT_READ_LOCK(3), CK_RWCOHORT_READ_UNLOCK(3), CK_RWCOHORT_WRITE_LOCK(3), CK_RWCOHORT_WRITE_UNLOCK(3).

February 24, 2013.