ck_queue - Man Page

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_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_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_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/

Info

July 28, 2013.