Man page - ck_queue(3)
Packages contains this manual
- ck_pr_fence_load_atomic(3)
- ck_bitmap_reset(3)
- ck_pr_fas(3)
- ck_pr_bts(3)
- ck_brlock(3)
- ck_array_remove(3)
- ck_hs_init(3)
- ck_pr_xor(3)
- ck_pr_rtm(3)
- ck_epoch_begin(3)
- ck_hs_grow(3)
- ck_bitmap_next(3)
- ck_pr_stall(3)
- ck_hs_destroy(3)
- ck_pr_faa(3)
- ck_pr_btc(3)
- ck_ring_init(3)
- ck_epoch_register(3)
- ck_ht_remove_spmc(3)
- ck_ht_stat(3)
- ck_rhs_iterator_init(3)
- ck_hs_gc(3)
- ck_ring_enqueue_spsc_size(3)
- ck_pr_neg(3)
- ck_rhs_reset(3)
- ck_ht_count(3)
- ck_bitmap_iterator_init(3)
- ck_hs_set(3)
- ck_rwcohort(3)
- ck_ht_destroy(3)
- ck_array_initialized(3)
- ck_rhs_remove(3)
- ck_hs_reset_size(3)
- ck_bitmap_test(3)
- ck_bitmap_set(3)
- ck_sequence(3)
- ck_pr_cas(3)
- ck_ring_size(3)
- ck_pr_store(3)
- ck_hs_rebuild(3)
- ck_pr_fence_release(3)
- ck_ht_entry_key_set_direct(3)
- ck_epoch_reclaim(3)
- ck_pr_add(3)
- ck_hs_put(3)
- ck_array_length(3)
- ck_array_buffer(3)
- ck_bitmap_init(3)
- ck_bitmap_base(3)
- ck_ring_enqueue_spmc_size(3)
- ck_rhs_next(3)
- ck_bitmap_size(3)
- ck_ht_entry_empty(3)
- ck_hs_fas(3)
- ck_pr_fence_store_load(3)
- ck_hs_next(3)
- ck_rhs_grow(3)
- ck_bitmap_clear(3)
- ck_pr_and(3)
- ck_queue(3)
- ck_ht_entry_key_length(3)
- ck_rhs_count(3)
- ck_bitmap_buffer(3)
- ck_ht_entry_key_set(3)
- ck_ht_get_spmc(3)
- ck_pr_fence_atomic_store(3)
- ck_ring_capacity(3)
- ck_ht_set_spmc(3)
- ck_pr_fence_load_depends(3)
- ck_ht_grow_spmc(3)
- ck_pr_fence_acquire(3)
- ck_ht_entry_value(3)
- ck_ht_reset_size_spmc(3)
- ck_bitmap_bits(3)
- ck_rhs_fas(3)
- ck_pr_fence_store_atomic(3)
- ck_ht_hash_direct(3)
- ck_pr_fence_memory(3)
- ck_swlock(3)
- ck_pr(3)
- ck_hs_get(3)
- ck_ht_entry_key(3)
- ck_rhs_rebuild(3)
- ck_array_init(3)
- ck_rhs_gc(3)
- ck_pflock(3)
- ck_ht_entry_set_direct(3)
- ck_ht_entry_value_direct(3)
- ck_epoch_poll(3)
- ck_pr_fence_load(3)
- ck_hs_move(3)
- ck_rhs_set(3)
- ck_epoch_barrier(3)
- ck_rhs_put_unique(3)
- ck_tflock(3)
- ck_pr_fence_atomic_load(3)
- ck_ht_hash(3)
- ck_ring_trydequeue_spmc(3)
- ck_epoch_unregister(3)
- ck_rhs_reset_size(3)
- ck_ht_init(3)
- ck_ht_gc(3)
- ck_rhs_get(3)
- ck_ring_enqueue_spsc(3)
- ck_pr_load(3)
- ck_epoch_synchronize(3)
- ck_pr_or(3)
- ck_pr_sub(3)
- ck_bitmap_union(3)
- ck_cohort(3)
- ck_rhs_move(3)
- ck_hs_reset(3)
- ck_ring_dequeue_spmc(3)
- ck_ht_entry_key_direct(3)
- ck_hs_apply(3)
- ck_pr_dec(3)
- ck_bitmap_bts(3)
- ck_ring_dequeue_spsc(3)
- ck_pr_fence_load_store(3)
- ck_pr_fence_store(3)
- ck_epoch_end(3)
- ck_rhs_put(3)
- ck_rwlock(3)
- ck_rhs_destroy(3)
- ck_pr_inc(3)
- ck_rhs_stat(3)
- ck_hs_iterator_init(3)
- ck_ring_enqueue_spmc(3)
- ck_ht_reset_spmc(3)
- ck_pr_barrier(3)
- ck_epoch_call(3)
- ck_ht_put_spmc(3)
- ck_rhs_apply(3)
- ck_array_commit(3)
- ck_hs_remove(3)
- ck_array_put_unique(3)
- ck_array_deinit(3)
- ck_array_put(3)
- ck_spinlock(3)
- ck_rhs_init(3)
- ck_hs_count(3)
- ck_hs_stat(3)
- ck_pr_btr(3)
- ck_ht_entry_set(3)
- ck_epoch_recycle(3)
- ck_hs_put_unique(3)
- ck_epoch_init(3)
- ck_ht_iterator_init(3)
- ck_pr_fence_atomic(3)
- ck_elide(3)
- ck_pr_not(3)
- ck_ht_next(3)
apt-get install libck-dev
Manual
NAME
CK_LIST_EMPTY, CK_LIST_ENTRY, CK_LIST_FIRST, CK_LIST_FOREACH, CK_LIST_FOREACH_FROM, CK_LIST_FOREACH_SAFE, CK_LIST_HEAD, CK_LIST_HEAD_INITIALIZER, CK_LIST_INIT, CK_LIST_INSERT_AFTER, CK_LIST_INSERT_BEFORE, CK_LIST_INSERT_HEAD, CK_LIST_MOVE, CK_LIST_NEXT, CK_LIST_REMOVE, CK_LIST_SWAP, CK_SLIST_EMPTY, CK_SLIST_ENTRY, CK_SLIST_FIRST, CK_SLIST_FOREACH, CK_SLIST_FOREACH_FROM, CK_SLIST_FOREACH_PREVPTR, CK_SLIST_FOREACH_SAFE, CK_SLIST_HEAD, CK_SLIST_HEAD_INITIALIZER, CK_SLIST_INIT, CK_SLIST_INSERT_AFTER, CK_SLIST_INSERT_HEAD, CK_SLIST_MOVE, CK_SLIST_NEXT, CK_SLIST_REMOVE, CK_SLIST_REMOVE_AFTER, CK_SLIST_REMOVE_HEAD, CK_SLIST_SWAP, CK_STAILQ_CONCAT, CK_STAILQ_EMPTY, CK_STAILQ_ENTRY, CK_STAILQ_FIRST, CK_STAILQ_FOREACH, CK_STAILQ_FOREACH_FROM, CK_STAILQ_FOREACH_SAFE, CK_STAILQ_HEAD, CK_STAILQ_HEAD_INITIALIZER, CK_STAILQ_INIT, CK_STAILQ_INSERT_AFTER, CK_STAILQ_INSERT_HEAD, CK_STAILQ_INSERT_TAIL, CK_STAILQ_MOVE, CK_STAILQ_NEXT, CK_STAILQ_REMOVE, CK_STAILQ_REMOVE_AFTER, CK_STAILQ_REMOVE_HEAD, CK_STAILQ_SWAP β multi-reader single-writer singly-linked lists, singly-linked tail queues and lists
LIBRARY
Concurrency Kit (libck, -lck)
SYNOPSIS
#include <ck_queue.h>
CK_LIST_EMPTY ();
CK_LIST_ENTRY ();
CK_LIST_FIRST ();
CK_LIST_FOREACH ();
CK_LIST_FOREACH_FROM ();
CK_LIST_FOREACH_SAFE ();
CK_LIST_HEAD ();
CK_LIST_HEAD_INITIALIZER ();
CK_LIST_INIT ();
CK_LIST_INSERT_AFTER ();
CK_LIST_INSERT_BEFORE ();
CK_LIST_INSERT_HEAD ();
CK_LIST_MOVE ();
CK_LIST_NEXT ();
CK_LIST_REMOVE ();
CK_LIST_SWAP ();
CK_SLIST_EMPTY ();
CK_SLIST_ENTRY ();
CK_SLIST_FIRST ();
CK_SLIST_FOREACH ();
CK_SLIST_FOREACH_FROM ();
CK_SLIST_FOREACH_PREVPTR ();
CK_SLIST_FOREACH_SAFE ();
CK_SLIST_HEAD ();
CK_SLIST_HEAD_INITIALIZER ();
CK_SLIST_INIT ();
CK_SLIST_INSERT_AFTER ();
CK_SLIST_INSERT_HEAD ();
CK_SLIST_MOVE ();
CK_SLIST_NEXT ();
CK_SLIST_REMOVE ();
CK_SLIST_REMOVE_AFTER ();
CK_SLIST_REMOVE_HEAD ();
CK_SLIST_SWAP ();
CK_STAILQ_CONCAT ();
CK_STAILQ_EMPTY ();
CK_STAILQ_ENTRY ();
CK_STAILQ_FIRST ();
CK_STAILQ_FOREACH ();
CK_STAILQ_FOREACH_FROM ();
CK_STAILQ_FOREACH_SAFE ();
CK_STAILQ_HEAD ();
CK_STAILQ_HEAD_INITIALIZER ();
CK_STAILQ_INIT ();
CK_STAILQ_INSERT_AFTER ();
CK_STAILQ_INSERT_HEAD ();
CK_STAILQ_INSERT_TAIL ();
CK_STAILQ_MOVE ();
CK_STAILQ_NEXT ();
CK_STAILQ_REMOVE ();
CK_STAILQ_REMOVE_AFTER ();
CK_STAILQ_REMOVE_HEAD ();
CK_STAILQ_SWAP ();
DESCRIPTION
See your systemβs manual page for queue for additional information. ck_queue is a queue.h-compatible implementation of many-reader-single-writer queues. It allows for safe concurrent iteration, peeking and read-side access in the presence of a single concurrent writer without any usage of locks. In many cases, adoption of ck_queue will simply require prefixing all queue operations with CK_.
SEE ALSO
queue
Additional information available at http://concurrencykit.org/ July 28, 2013. ck_queue (3)