CK_RWCOHORT_WRITE_UNLOCK(3)
π CK_RWCOHORT_WRITE_UNLOCK β relinquish write access for cohort-based reader-writer lock π
okay bestie, this one lives in the Concurrency Kit, aka libck, so link it with -lck and you're golden β¨
πΈ SYNOPSIS πΈ
#include <ck_cohort.h>
CK_RWCOHORT_NEUTRAL_WRITE_UNLOCK(COHORT_NAME cohort_name, LOCK *lock,
COHORT *cohort"void *global_context, void *local_context);
CK_RWCOHORT_RP_WRITE_UNLOCK(COHORT_NAME cohort_name, LOCK *lock,
COHORT *cohort"void *global_context, void *local_context);
CK_RWCOHORT_WP_WRITE_UNLOCK(COHORT_NAME cohort_name, LOCK *lock,
COHORT *cohort"void *global_context, void *local_context);
like yes, that's three whole flavors of the same vibe β NEUTRAL, RP and WP β pick the one that matches how you set your cohort up π¦
β¨ DESCRIPTION β¨
so this call relinquishes write permission for lock. that's it, that's the whole job, and honestly? she ate π
cohort has to point to a cohort whose global lock is the same as every other cohort you use with lock. like, they all gotta be in the same friend group, no cap. if they're not matching up, you're not doing the thing right π
and the global_context and local_context args? they get passed along as the context arguments to any calls to cohort. so whatever you hand over here, cohort's gonna see it. keep that in mind, bestie π«Ά
lowkey important: this is the unlock half of the write-lock story. you only call it if you already grabbed write access, fr fr.
π SEE ALSO π
the whole squad, go read them:
ck_cohort(3)CK_RWCOHORT_PROTOTYPE(3)CK_RWCOHORT_INSTANCE(3)CK_RWCOHORT_INITIALIZER(3)CK_RWCOHORT_INIT(3)CK_RWCOHORT_READ_LOCK(3)CK_RWCOHORT_READ_UNLOCK(3)CK_RWCOHORT_WRITE_LOCK(3)
and if you want even more lore, it's all sitting at http://concurrencykit.org/ π§
okay that's the whole page, mwah π this one's dated February 24, 2013. and it comes to you from Concurrency Kit β CK_RWCOHORT_WRITE_UNLOCK(3), section 3, 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