Motr
M0
|
#include "lib/thread.h"
#include "lib/errno.h"
#include "lib/chan.h"
#include "lib/assert.h"
#include "addb2/addb2.h"
#include "addb2/counter.h"
#include "motr/magic.h"
#include "lib/arith.h"
Go to the source code of this file.
Functions | |
M0_TL_DESCR_DEFINE (clink, "chan clinks", static, struct m0_clink, cl_linkage, cl_magic, M0_LIB_CHAN_MAGIC, M0_LIB_CHAN_HEAD_MAGIC) | |
M0_TL_DEFINE (clink, static, struct m0_clink) | |
static bool | clink_is_head (const struct m0_clink *clink) |
M0_INTERNAL void | m0_chan_lock (struct m0_chan *ch) |
M0_INTERNAL void | m0_chan_unlock (struct m0_chan *ch) |
M0_INTERNAL bool | m0_chan_is_locked (const struct m0_chan *ch) |
static bool | m0_chan_invariant (struct m0_chan *chan) |
M0_INTERNAL void | m0_chan_init (struct m0_chan *chan, struct m0_mutex *ch_guard) |
M0_INTERNAL void | m0_chan_fini (struct m0_chan *chan) |
M0_INTERNAL void | m0_chan_fini_lock (struct m0_chan *chan) |
static void | clink_signal (struct m0_clink *clink) |
static void | chan_signal_nr (struct m0_chan *chan, uint32_t nr) |
M0_INTERNAL void | m0_chan_signal (struct m0_chan *chan) |
M0_INTERNAL void | m0_chan_signal_lock (struct m0_chan *chan) |
M0_INTERNAL void | m0_chan_broadcast (struct m0_chan *chan) |
M0_INTERNAL void | m0_chan_broadcast_lock (struct m0_chan *chan) |
M0_INTERNAL bool | m0_chan_has_waiters (struct m0_chan *chan) |
static void | clink_init (struct m0_clink *link, struct m0_clink *group, m0_chan_cb_t cb) |
M0_INTERNAL void | m0_clink_init (struct m0_clink *link, m0_chan_cb_t cb) |
M0_INTERNAL void | m0_clink_fini (struct m0_clink *link) |
M0_INTERNAL void | m0_clink_attach (struct m0_clink *link, struct m0_clink *group, m0_chan_cb_t cb) |
M0_INTERNAL void | m0_clink_add (struct m0_chan *chan, struct m0_clink *link) |
void | m0_clink_add_lock (struct m0_chan *chan, struct m0_clink *link) |
M0_INTERNAL void | m0_clink_del (struct m0_clink *link) |
M0_INTERNAL void | m0_clink_del_lock (struct m0_clink *link) |
M0_INTERNAL bool | m0_clink_is_armed (const struct m0_clink *link) |
M0_INTERNAL void | m0_clink_cleanup (struct m0_clink *link) |
M0_INTERNAL void | m0_clink_cleanup_locked (struct m0_clink *link) |
M0_INTERNAL void | m0_clink_signal (struct m0_clink *clink) |
M0_INTERNAL bool | m0_chan_trywait (struct m0_clink *link) |
M0_INTERNAL void | m0_chan_wait (struct m0_clink *link) |
M0_INTERNAL bool | m0_chan_timedwait (struct m0_clink *link, const m0_time_t abs_timeout) |