Concurrency Kit (libck, -lck)
CK_COHORT_LOCK(COHORT_NAME cohort_name, COHORT *cohort, void *global_context, void *local_context);
This call attempts to acquire both the local and global (if necessary) locks from cohort. The call will block until both locks have been acquired. global_context will be passed as the second argument to the function that was provided as the global_lock_method argument to CK_COHORT_PROTOTYPE if that method is called, and local_context will be passed to the function specified by local_lock_method
ck_cohort(3), CK_COHORT_PROTOTYPE(3), CK_COHORT_TRYLOCK_PROTOTYPE(3), CK_COHORT_INSTANCE(3), CK_COHORT_INITIALIZER(3), CK_COHORT_INIT(3), CK_COHORT_UNLOCK(3), CK_COHORT_LOCKED(3), CK_COHORT_TRYLOCK(3),
Additional information available at http://concurrencykit.org/
ck_cohort(3), CK_COHORT_INIT(3), CK_COHORT_INSTANCE(3), CK_COHORT_PROTOTYPE(3), CK_COHORT_TRYLOCK(3), CK_COHORT_TRYLOCK_PROTOTYPE(3), CK_COHORT_UNLOCK(3), ck_rwcohort(3).