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_TRYLOCK_PROTOTYPE — define cohort type with specified lock types

Description

       The ck_cohort.h header file  does  not  define  any  cohort  types.   Instead,  the  user  must  use  the
       CK_COHORT_PROTOTYPE  or  CK_COHORT_TRYLOCK_PROTOTYPE  macros  to define any types they want to use.  They
       must use CK_COHORT_TRYLOCK_PROTOTYPE if  they  want  their  cohort  type  to  have  support  for  trylock
       operations.  The CK_COHORT_TRYLOCK_PROTOTYPE macro takes the following arguments:

       cohort_name  : An identifier used for this cohort type.  This will have to be passed to each of the other
       CK_COHORT macros.
       global_lock_method : The method that should be called to acquire the global lock
       global_unlock_method : The method that should be called to relinquish the global lock
       global_locked_method : This method should return true iff the global lock is acquired by a thread.
       global_trylock_method : The method that should be called to try to acquire the global  lock.   It  should
       not block and return true iff the lock was successfully acquired.
       local_lock_method : The method that should be called to acquire the local lock
       local_unlock_method : The method that should be called to relinquish the local lock
       global_locked_method : This method should return true iff the global lock is acquired by a thread.
       local_trylock_method  : The method that should be called to try to acquire the local lock.  It should not
       block and return true iff the lock was successfully acquired.

       Instances of the defined cohort type can be declared as:
           CK_COHORT_INSTANCE(cohort_name) cohort;

Library

       Concurrency Kit (libck, -lck)

Name

       CK_COHORT_TRYLOCK_PROTOTYPE — define cohort type with specified lock types

See Also

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

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

                                                 March 9, 2013.                   CK_COHORT_TRYLOCK_PROTOTYPE(3)

Synopsis

#include<ck_cohort.h>CK_COHORT_TRYLOCK_PROTOTYPE(COHORT_NAMEcohort_name,         LOCK_FXNglobal_lock_method,
           LOCK_FXNglobal_unlock_method,             BOOL_LOCK_FXNglobal_locked_method,
           BOOL_LOCK_FXNglobal_trylock_method,   LOCK_FXNlocal_lock_method,  LOCK_FXNlocal_unlock_method,
           BOOL_LOCK_FXNlocal_locked_method, BOOL_LOCK_FXNlocal_trylock_method);

See Also