Man page - ck_queue(3)

Packages contains this manual

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)