svn commit: r230012 - in stable/9: share/man/man9 sys/sys
John Baldwin
jhb at FreeBSD.org
Thu Jan 12 14:43:53 UTC 2012
Author: jhb
Date: Thu Jan 12 14:43:52 2012
New Revision: 230012
URL: http://svn.freebsd.org/changeset/base/230012
Log:
MFC 228715:
Add a TASK_INITIALIZER() macro that can be used to statically
initialize a task structure.
Modified:
stable/9/share/man/man9/Makefile
stable/9/share/man/man9/taskqueue.9
stable/9/sys/sys/taskqueue.h
Directory Properties:
stable/9/share/man/man9/ (props changed)
stable/9/sys/ (props changed)
stable/9/sys/amd64/include/xen/ (props changed)
stable/9/sys/boot/ (props changed)
stable/9/sys/boot/i386/efi/ (props changed)
stable/9/sys/boot/ia64/efi/ (props changed)
stable/9/sys/boot/ia64/ski/ (props changed)
stable/9/sys/boot/powerpc/boot1.chrp/ (props changed)
stable/9/sys/boot/powerpc/ofw/ (props changed)
stable/9/sys/cddl/contrib/opensolaris/ (props changed)
stable/9/sys/conf/ (props changed)
stable/9/sys/contrib/dev/acpica/ (props changed)
stable/9/sys/contrib/octeon-sdk/ (props changed)
stable/9/sys/contrib/pf/ (props changed)
stable/9/sys/contrib/x86emu/ (props changed)
Modified: stable/9/share/man/man9/Makefile
==============================================================================
--- stable/9/share/man/man9/Makefile Thu Jan 12 14:40:25 2012 (r230011)
+++ stable/9/share/man/man9/Makefile Thu Jan 12 14:43:52 2012 (r230012)
@@ -1254,6 +1254,7 @@ MLINKS+=sysctl_ctx_init.9 sysctl_ctx_ent
sysctl_ctx_init.9 sysctl_ctx_free.9
MLINKS+=SYSINIT.9 SYSUNINIT.9
MLINKS+=taskqueue.9 TASK_INIT.9 \
+ taskqueue.9 TASK_INITIALIZER.9 \
taskqueue.9 taskqueue_cancel.9 \
taskqueue.9 taskqueue_create.9 \
taskqueue.9 taskqueue_create_fast.9 \
Modified: stable/9/share/man/man9/taskqueue.9
==============================================================================
--- stable/9/share/man/man9/taskqueue.9 Thu Jan 12 14:40:25 2012 (r230011)
+++ stable/9/share/man/man9/taskqueue.9 Thu Jan 12 14:43:52 2012 (r230012)
@@ -80,6 +80,7 @@ struct timeout_task;
.Ft void
.Fn taskqueue_run "struct taskqueue *queue"
.Fn TASK_INIT "struct task *task" "int priority" "task_fn_t func" "void *context"
+.Fn TASK_INITIALIZER "int priority" "task_fn_t func" "void *context"
.Fn TASKQUEUE_DECLARE "name"
.Fn TASKQUEUE_DEFINE "name" "taskqueue_enqueue_fn enqueue" "void *context" "init"
.Fn TASKQUEUE_FAST_DEFINE "name" "taskqueue_enqueue_fn enqueue" "void *context" "init"
@@ -243,9 +244,14 @@ A convenience macro,
is provided to initialise a
.Va task
structure.
+The
+.Fn TASK_INITIALIZER
+macro generates an initializer for a task structure.
A macro
.Fn TIMEOUT_TASK_INIT "queue" "timeout_task" "priority" "func" "context"
-initializes the timeout_task structure.
+initializes the
+.Va timeout_task
+structure.
The values of
.Va priority ,
.Va func ,
Modified: stable/9/sys/sys/taskqueue.h
==============================================================================
--- stable/9/sys/sys/taskqueue.h Thu Jan 12 14:40:25 2012 (r230011)
+++ stable/9/sys/sys/taskqueue.h Thu Jan 12 14:43:52 2012 (r230012)
@@ -77,6 +77,12 @@ void taskqueue_block(struct taskqueue *q
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
*/
More information about the svn-src-stable-9
mailing list