CK_RWCOHORT_READ_LOCK(3)
π CK_RWCOHORT_READ_LOCK(3) π
okay so bestie, welcome to section 3 of the manual, courtesy of the Concurrency Kit β aka libck, aka the girlies who make locks that actually scale π¦ this one's all about grabbing read-only permission from a cohort-based reader-writer lock. no cap.
β¨ NAME β¨
CK_RWCOHORT_READ_LOCK β acquire read-only permission for cohort-based reader-writer lock
π LIBRARY π
Concurrency Kit (libck, -lck)
π SYNOPSIS π
#include <ck_cohort.h>
CK_RWCOHORT_NEUTRAL_READ_LOCK(COHORT_NAME cohort_name, LOCK *lock,
COHORT *cohort"void *global_context, void *local_context);
CK_RWCOHORT_RP_READ_LOCK(COHORT_NAME cohort_name, LOCK *lock,
COHORT *cohort"void *global_context, void *local_context);
CK_RWCOHORT_WP_READ_LOCK(COHORT_NAME cohort_name, LOCK *lock,
COHORT *cohort"void *global_context, void *local_context);
bestie, notice that lil " in there? that's literally what's in the page. copying it exactly, not my job to fix it, my job is to be faithful π
πΈ DESCRIPTION πΈ
so this call acquires read-only permission from lock. π«Ά and it's not gonna just hand it over instantly β the call will block until that permission has actually been acquired. patient queen energy.
cohort must point to a cohort whose global lock is the same as all other cohorts used with lock. like, they all have to be in the same group chat, fr fr β mismatched global locks is not the vibe.
the global_context and local_context arguments get passed along as the context arguments to any calls to cohort. so they travel with you, iconic. β¨
π SEE ALSO π
ck_cohort(3)CK_RWCOHORT_PROTOTYPE(3)CK_RWCOHORT_INSTANCE(3)CK_RWCOHORT_INITIALIZER(3)CK_RWCOHORT_INIT(3)CK_RWCOHORT_READ_UNLOCK(3)CK_RWCOHORT_WRITE_LOCK(3)CK_RWCOHORT_WRITE_UNLOCK(3)
Additional information available at http://concurrencykit.org/
okay that's the whole page, and yeah, it's dated February 24, 2013 and lives in the CK_RWCOHORT_READ_LOCK(3) era of the manual β vintage but still ate. π go forth and lock responsibly, bestie. periodt. ππ
π¦ where this page comes from
- alpine 3.24: ck-doc 0.7.2-r1 Β· BSD-2-Clause AND Apache-2.0
- debian bookworm: libck-dev 0.7.1-10 Β· BSD-2-Clause
- debian trixie: libck-dev 0.7.2-6 Β· BSD-2-Clause
- epel 10: ck-devel 0.7.2-1.el10_1 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- epel 9: ck-devel 0.7.0-10.el9 Β· BSD
- fedora 43: ck-devel 0.7.2-2.fc43 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 43: ck-devel 0.7.2-2.fc43 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 44: ck-devel 0.7.2-4.fc44 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 44: ck-devel 0.7.2-4.fc44 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- nixos 26.05: ck 0.7.2
- nixpkgs unstable: ck 0.7.2
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- ubuntu jammy: libck-dev 0.7.1-6ubuntu2 Β· BSD-2-Clause
- ubuntu noble: libck-dev 0.7.1-13build1 Β· BSD-2-Clause
- ubuntu questing: libck-dev 0.7.2-5ubuntu1
- ubuntu resolute: libck-dev 0.7.2-5ubuntu2 Β· BSD-2-Clause
- ubuntu stonking: libck-dev 0.7.2-11 Β· BSD-2-Clause
- Copyright 2013 Brendon Scheinman
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms