0f92108d32
taskqueue_start_threads(struct taskqueue **, int count, int pri, const char *name, ...); This allows the creation of 1 or more threads that will service a single taskqueue. Also rework the taskqueue_create() API to remove the API change that was introduced a while back. Creating a taskqueue doesn't rely on the presence of a process structure, and the proc mechanics are much better encapsulated in taskqueue_start_threads(). Also clean up the taskqueue_terminate() and taskqueue_free() functions to safely drain pending tasks and remove all associated threads. The TASKQUEUE_DEFINE and TASKQUEUE_DEFINE_THREAD macros have been changed to use the new API, but drivers compiled against the old definitions will still work. Thus, recompiling drivers is not a strict requirement. |
||
---|---|---|
.. | ||
OsdDebug.c | ||
OsdHardware.c | ||
OsdInterrupt.c | ||
OsdMemory.c | ||
OsdSchedule.c | ||
OsdStream.c | ||
OsdSynch.c | ||
OsdTable.c |