Lines Matching refs:waitset
31 struct waitset;
61 /// Current state of a channel on a specific waitset
63 CHAN_UNREGISTERED, ///< Initialised, but not yet registered on a waitset
71 * \brief Per-channel state belonging to waitset
73 * This data is logically private to the waitset, but is allocated and stored
78 struct waitset *waitset; ///< Waitset in which this channel is registered
93 * This data is private to the waitset (a waitset is an opaque type),
96 struct waitset {
99 *idle, ///< All other channels on this waitset
102 /// Queue of threads blocked on this waitset (when no events are pending)
108 void waitset_init(struct waitset *ws);
109 errval_t waitset_destroy(struct waitset *ws);
111 errval_t get_next_event(struct waitset *ws, struct event_closure *retclosure);
112 errval_t get_next_event_disabled(struct waitset *ws, struct waitset_chanstate **retchan,
115 errval_t check_for_event(struct waitset *ws);
116 errval_t event_dispatch(struct waitset *ws);
117 errval_t wait_for_channel(struct waitset *ws, struct waitset_chanstate *channel, errval_t *error_var);
118 errval_t event_dispatch_disabled(struct waitset *ws, dispatcher_handle_t handle);
119 errval_t event_dispatch_debug(struct waitset *ws);
120 errval_t event_dispatch_non_block(struct waitset *ws);