M0_INTERNAL void m0_chan_wait(struct m0_clink *link)
M0_INTERNAL bool m0_chan_is_locked(const struct m0_chan *ch)
M0_INTERNAL void m0_clink_init(struct m0_clink *link, m0_chan_cb_t cb)
M0_INTERNAL void m0_clink_del(struct m0_clink *link)
M0_INTERNAL void m0_chan_lock(struct m0_chan *ch)
M0_INTERNAL void m0_cond_init(struct m0_cond *cond, struct m0_mutex *mutex)
M0_INTERNAL void m0_chan_signal(struct m0_chan *chan)
M0_INTERNAL void m0_chan_init(struct m0_chan *chan, struct m0_mutex *ch_guard)
M0_INTERNAL void m0_cond_fini(struct m0_cond *cond)
M0_INTERNAL void m0_cond_signal(struct m0_cond *cond)
static struct m0_clink clink[RDWR_REQUEST_MAX]
M0_INTERNAL void m0_chan_unlock(struct m0_chan *ch)
M0_INTERNAL void m0_cond_wait(struct m0_cond *cond)
M0_INTERNAL void m0_clink_add(struct m0_chan *chan, struct m0_clink *link)
M0_INTERNAL bool m0_chan_timedwait(struct m0_clink *link, const m0_time_t abs_timeout)
M0_INTERNAL void m0_clink_fini(struct m0_clink *link)
M0_INTERNAL bool m0_cond_timedwait(struct m0_cond *cond, const m0_time_t abs_timeout)
M0_INTERNAL void m0_cond_broadcast(struct m0_cond *cond)
M0_INTERNAL void m0_chan_fini_lock(struct m0_chan *chan)
M0_INTERNAL void m0_chan_broadcast(struct m0_chan *chan)