Beispiel #1
0
int main(int argc, char *argv[]) {
	TaskQueue *tq = taskqueue_alloc();

	FuncArgs *fa = malloc(sizeof(FuncArgs));
	fa->count = 5;

	Task *t = task_alloc(&func, fa);
	taskqueue_enqueue(tq, t);

	taskqueue_run(tq);

	return 0;
}
Beispiel #2
0
void
taskqueue_free(struct taskqueue *queue)
{
	int s = splhigh();
	queue->tq_draining = 1;
	splx(s);

	taskqueue_run(queue);

	s = splhigh();
	STAILQ_REMOVE(&taskqueue_queues, queue, taskqueue, tq_link);
	splx(s);

	free(queue, M_TASKQUEUE);
}
Beispiel #3
0
static void
taskqueue_swi_run(void)
{
	taskqueue_run(taskqueue_swi);
}