9#ifndef ZEPHYR_KERNEL_INCLUDE_WAIT_Q_H_ 
   10#define ZEPHYR_KERNEL_INCLUDE_WAIT_Q_H_ 
   22#ifdef CONFIG_WAITQ_SCALABLE 
   24#define _WAIT_Q_FOR_EACH(wq, thread_ptr) \ 
   25        RB_FOR_EACH_CONTAINER(&(wq)->waitq.tree, thread_ptr, base.qnode_rb) 
   27static inline void z_waitq_init(_wait_q_t *w)
 
   29        w->waitq = (
struct _priq_rb) {
 
   31                        .lessthan_fn = z_priq_rb_lessthan
 
   36static inline struct k_thread *z_waitq_head(_wait_q_t *w)
 
   43#define _WAIT_Q_FOR_EACH(wq, thread_ptr) \ 
   44        SYS_DLIST_FOR_EACH_CONTAINER(&((wq)->waitq), thread_ptr, \ 
   47static inline void z_waitq_init(_wait_q_t *w)
 
   52static inline struct k_thread *z_waitq_head(_wait_q_t *w)
 
Doubly-linked list implementation.
 
static sys_dnode_t * sys_dlist_peek_head(sys_dlist_t *list)
get a reference to the head item in the list
Definition: dlist.h:294
 
static void sys_dlist_init(sys_dlist_t *list)
initialize list to its empty state
Definition: dlist.h:197
 
static struct rbnode * rb_get_min(struct rbtree *tree)
Returns the lowest-sorted member of the tree.
Definition: rb.h:115
 
Red/Black balanced tree data structure.
 
timeout queue for threads on kernel objects