19 #ifndef __LIBUBOX_RUNQUEUE_H
20 #define __LIBUBOX_RUNQUEUE_H
93 #define RUNQUEUE_INIT(_name, _max_running) { \
94 .tasks_active = SAFE_LIST_INIT(_name.tasks_active), \
95 .tasks_inactive = SAFE_LIST_INIT(_name.tasks_inactive), \
96 .max_running_tasks = _max_running \
99 #define RUNQUEUE(_name, _max_running) \
100 struct runqueue _name = RUNQUEUE_INIT(_name, _max_running)
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)
void runqueue_stop(struct runqueue *q)
void runqueue_task_cancel(struct runqueue_task *t, int type)
void runqueue_task_add(struct runqueue *q, struct runqueue_task *t, bool running)
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)
void runqueue_process_kill_cb(struct runqueue *q, struct runqueue_task *t)
void runqueue_cancel_pending(struct runqueue *q)
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