uloop: ignore SIGPIPE by default
[project/libubox.git] / runqueue.h
index ad64f3d..0d4173d 100644 (file)
@@ -19,9 +19,9 @@
 #ifndef __LIBUBOX_RUNQUEUE_H
 #define __LIBUBOX_RUNQUEUE_H
 
-#include <libubox/list.h>
-#include <libubox/safe_list.h>
-#include <libubox/uloop.h>
+#include "list.h"
+#include "safe_list.h"
+#include "uloop.h"
 
 struct runqueue;
 struct runqueue_task;
@@ -73,6 +73,8 @@ struct runqueue_task {
        const struct runqueue_task_type *type;
        struct runqueue *q;
 
+       void (*complete)(struct runqueue *q, struct runqueue_task *t);
+
        struct uloop_timeout timeout;
        int run_timeout;
        int cancel_timeout;
@@ -86,7 +88,6 @@ struct runqueue_task {
 struct runqueue_process {
        struct runqueue_task task;
        struct uloop_process proc;
-       void (*complete)(struct runqueue *q, struct runqueue_process *p, int ret);
 };
 
 void runqueue_init(struct runqueue *q);
@@ -99,6 +100,7 @@ void runqueue_stop(struct runqueue *q);
 void runqueue_resume(struct runqueue *q);
 
 void runqueue_task_add(struct runqueue *q, struct runqueue_task *t, bool running);
+void runqueue_task_add_first(struct runqueue *q, struct runqueue_task *t, bool running);
 void runqueue_task_complete(struct runqueue_task *t);
 
 void runqueue_task_cancel(struct runqueue_task *t, int type);