155 if (!t->
type->
run && !running) {
156 fprintf(stderr,
"BUG: inactive task added without run() callback\n");
static bool list_empty(const struct list_head *head)
#define list_first_entry(ptr, type, field)
#define container_of(ptr, type, member)
static void _runqueue_task_add(struct runqueue *q, struct runqueue_task *t, bool running, bool first)
void runqueue_task_add_first(struct runqueue *q, struct runqueue_task *t, bool running)
void runqueue_cancel_active(struct runqueue *q)
void runqueue_process_cancel_cb(struct runqueue *q, struct runqueue_task *t, int type)
void runqueue_resume(struct runqueue *q)
static void __runqueue_start_next(struct uloop_timeout *timeout)
static void runqueue_start_next(struct runqueue *q)
void runqueue_stop(struct runqueue *q)
static int __runqueue_cancel(void *ctx, struct safe_list *list)
void runqueue_task_cancel(struct runqueue_task *t, int type)
void runqueue_task_add(struct runqueue *q, struct runqueue_task *t, bool running)
static void __runqueue_task_timeout(struct uloop_timeout *timeout)
void runqueue_cancel(struct runqueue *q)
void runqueue_init(struct runqueue *q)
void runqueue_kill(struct runqueue *q)
void runqueue_task_complete(struct runqueue_task *t)
void runqueue_task_kill(struct runqueue_task *t)
void runqueue_process_add(struct runqueue *q, struct runqueue_process *p, pid_t pid)
static void __runqueue_empty_cb(struct uloop_timeout *timeout)
static const struct runqueue_task_type runqueue_proc_type
void runqueue_process_kill_cb(struct runqueue *q, struct runqueue_task *t)
static void __runqueue_proc_cb(struct uloop_process *p, int ret)
void runqueue_cancel_pending(struct runqueue *q)
int safe_list_for_each(struct safe_list *head, int(*cb)(void *ctx, struct safe_list *list), void *ctx)
void safe_list_add(struct safe_list *list, struct safe_list *head)
void safe_list_add_first(struct safe_list *list, struct safe_list *head)
void safe_list_del(struct safe_list *list)
#define INIT_SAFE_LIST(_head)
struct runqueue_task task
struct uloop_process proc
void(* kill)(struct runqueue *q, struct runqueue_task *t)
void(* cancel)(struct runqueue *q, struct runqueue_task *t, int type)
void(* run)(struct runqueue *q, struct runqueue_task *t)
const struct runqueue_task_type * type
void(* complete)(struct runqueue *q, struct runqueue_task *t)
struct uloop_timeout timeout
struct safe_list tasks_inactive
struct uloop_timeout timeout
void(* empty_cb)(struct runqueue *q)
struct safe_list tasks_active
int uloop_process_delete(struct uloop_process *p)
int uloop_timeout_cancel(struct uloop_timeout *timeout)
int uloop_timeout_set(struct uloop_timeout *timeout, int msecs)
int uloop_process_add(struct uloop_process *p)