diff options
Diffstat (limited to 'freebsd/sys/sys/taskqueue.h')
-rw-r--r-- | freebsd/sys/sys/taskqueue.h | 10 |
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; \ } \ |