logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

CK_COHORT_INIT — initialize instance of a cohort type

Description

       Until a cohort instance is initialized using the CK_COHORT_INIT macro, any operations involving  it  will
       have  undefined behavior.  After this macro has been called, the cohort pointed to by the cohort argument
       will use the lock pointed to by global_lock as its global lock and the lock pointed to by  local_lock  as
       its local lock.

       The  cohort  will relinquish its global lock after pass_limit consecutive acquisitions of its local lock,
       even if there are other threads waiting.  If you are  unsure  of  a  value  to  use  for  the  pass_limit
       argument, you should use CK_COHORT_DEFAULT_LOCAL_PASS_LIMIT.

Library

       Concurrency Kit (libck, -lck)

Name

       CK_COHORT_INIT — initialize instance of a cohort type

See Also

ck_cohort(3),      CK_COHORT_PROTOTYPE(3),     CK_COHORT_TRYLOCK_PROTOTYPE(3),     CK_COHORT_INSTANCE(3),
       CK_COHORT_INITIALIZER(3),       CK_COHORT_LOCK(3),       CK_COHORT_UNLOCK(3),        CK_COHORT_LOCKED(3),
       CK_COHORT_TRYLOCK(3),

       Additional information available at http://concurrencykit.org/

                                               February 24, 2013.                              CK_COHORT_INIT(3)

Synopsis

#include<ck_cohort.h>CK_COHORT_INIT(COHORT_NAMEcohort_name,   COHORT*cohort,   void*global_lock,   void*local_lock,
           unsignedintpass_limit);

See Also