summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/sys/taskqueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/sys/taskqueue.h')
-rw-r--r--freebsd/sys/sys/taskqueue.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/freebsd/sys/sys/taskqueue.h b/freebsd/sys/sys/taskqueue.h
index bf2e4ee3..6ac22e06 100644
--- a/freebsd/sys/sys/taskqueue.h
+++ b/freebsd/sys/sys/taskqueue.h
@@ -61,6 +61,12 @@ void taskqueue_block(struct taskqueue *queue);
void taskqueue_unblock(struct taskqueue *queue);
int taskqueue_member(struct taskqueue *queue, struct thread *td);
+#define TASK_INITIALIZER(priority, func, context) \
+ { .ta_pending = 0, \
+ .ta_priority = (priority), \
+ .ta_func = (func), \
+ .ta_context = (context) }
+
/*
* Functions for dedicated thread taskqueues
*/
@@ -94,7 +100,7 @@ static void \
taskqueue_define_##name(void *arg) \
{ \
taskqueue_##name = \
- taskqueue_create(#name, M_NOWAIT, (enqueue), (context)); \
+ taskqueue_create(#name, M_WAITOK, (enqueue), (context)); \
init; \
} \
\
@@ -118,7 +124,7 @@ static void \
taskqueue_define_##name(void *arg) \
{ \
taskqueue_##name = \
- taskqueue_create_fast(#name, M_NOWAIT, (enqueue), \
+ taskqueue_create_fast(#name, M_WAITOK, (enqueue), \
(context)); \
init; \
} \