39 static void t0(
int self)
44 for (
i = 0;
i <
NR; ++
i) {
45 for (j = 0; j <
NR; ++j) {
50 for (j = 0; j <
NR - 1; ++j)
static bool cb1(struct m0_clink *clink)
static struct m0_mutex m[NR]
M0_INTERNAL void m0_chan_wait(struct m0_clink *link)
M0_INTERNAL void m0_mutex_unlock(struct m0_mutex *mutex)
M0_INTERNAL void m0_chan_broadcast_lock(struct m0_chan *chan)
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_clink_del_lock(struct m0_clink *link)
static bool mfilter(struct m0_clink *clink)
int m0_thread_join(struct m0_thread *q)
#define M0_THREAD_INIT(thread, TYPE, init, func, arg, namefmt,...)
M0_INTERNAL int m0_timer_init(struct m0_timer *timer, enum m0_timer_type type, struct m0_timer_locality *loc, m0_timer_callback_t callback, unsigned long data)
M0_INTERNAL void m0_mutex_lock(struct m0_mutex *mutex)
static bool cb2(struct m0_clink *clink)
M0_INTERNAL void m0_timer_fini(struct m0_timer *timer)
M0_INTERNAL void m0_chan_signal(struct m0_chan *chan)
M0_INTERNAL void m0_clink_attach(struct m0_clink *link, struct m0_clink *group, m0_chan_cb_t cb)
static bool cb_filter(struct m0_clink *clink)
M0_INTERNAL void m0_timer_stop(struct m0_timer *timer)
M0_INTERNAL void m0_chan_init(struct m0_chan *chan, struct m0_mutex *ch_guard)
M0_INTERNAL void m0_timer_start(struct m0_timer *timer, m0_time_t expire)
void m0_thread_fini(struct m0_thread *q)
M0_INTERNAL bool m0_chan_trywait(struct m0_clink *link)
M0_INTERNAL void m0_clink_signal(struct m0_clink *clink)
M0_INTERNAL void m0_mutex_init(struct m0_mutex *mutex)
static struct m0_clink clink[RDWR_REQUEST_MAX]
static struct m0_clink l[NR]
M0_INTERNAL void m0_chan_signal_lock(struct m0_chan *chan)
void m0_clink_add_lock(struct m0_chan *chan, struct m0_clink *link)
static struct m0_chan chan[RDWR_REQUEST_MAX]
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_time_t m0_time_from_now(uint64_t secs, long ns)
M0_INTERNAL void m0_mutex_fini(struct m0_mutex *mutex)
M0_INTERNAL void m0_clink_fini(struct m0_clink *link)
M0_INTERNAL void m0_chan_fini_lock(struct m0_chan *chan)
M0_INTERNAL void m0_chan_broadcast(struct m0_chan *chan)
static struct m0_thread t[NR]
unsigned long signal_the_chan_in_timer(unsigned long data)
static struct m0_chan cc[NR]