Browse Source

libubox: add static initializer macro for runqueues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau 7 years ago
parent
commit
290c64ef5b
1 changed files with 9 additions and 0 deletions
  1. 9 0
      runqueue.h

+ 9 - 0
runqueue.h

@@ -90,6 +90,15 @@ struct runqueue_process {
 	struct uloop_process proc;
 };
 
+#define RUNQUEUE_INIT(_name, _max_running) { \
+		.tasks_active = SAFE_LIST_INIT(_name.tasks_active), \
+		.tasks_inactive = SAFE_LIST_INIT(_name.tasks_inactive), \
+		.max_running_tasks = _max_running \
+	}
+
+#define RUNQUEUE(_name, _max_running) \
+	struct runqueue _name = RUNQUEUE_INIT(_name, _max_running)
+
 void runqueue_init(struct runqueue *q);
 void runqueue_cancel(struct runqueue *q);
 void runqueue_cancel_active(struct runqueue *q);