table of contents
CK_COHORT_TRYLOCK(3) | Library Functions Manual | CK_COHORT_TRYLOCK(3) |
NAME¶
CK_COHORT_TRYLOCK
—
try to acquire cohort lock
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
<ck_cohort.h>
CK_COHORT_TRYLOCK
(COHORT_NAME
cohort_name, COHORT
*cohort, void
*global_trylock_context,
void
*local_trylock_context,
void
*lock_unlock_context);
DESCRIPTION¶
This call attempts to acquire both the local and global (if necessary) locks from cohort. It can only be used with cohort types that were defined using the CK_COHORT_TRYLOCK_PROTOTYPE(3) macro. The call will not block and will return a bool that will evaluate to true iff the cohort was successfully acquired. global_trylock_context will be passed as the second argument to the function that was provided as the global_trylock_method argument to CK_COHORT_TRYLOCK_PROTOTYPE if that method is called, and local_trylock_context will be passed to the function specified by local_trylock_method. If the global lock acquisition fails, then the cohort will immediately release its local lock as well, and local_unlock_context will be passed to the function specified by local_unlock_method when this call is made.
SEE ALSO¶
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_LOCK(3), CK_COHORT_UNLOCK(3), CK_COHORT_LOCKED(3),
Additional information available at http://concurrencykit.org/
March 9, 2013. |