Ejemplo n.º 1
0
static void
swi_vm_setup(void *arg)
{
	register_swi(SWI_VM, swi_vm, NULL, "swi_vm", NULL, 0);
}
Ejemplo n.º 2
0
		 * Carefully remove the first task from the queue and
		 * zero its pending count.
		 */
		task = STAILQ_FIRST(&queue->tq_queue);
		STAILQ_REMOVE_HEAD(&queue->tq_queue, ta_link);
		pending = task->ta_pending;
		task->ta_pending = 0;
		splx(s);

		task->ta_func(task->ta_context, pending);

		s = splhigh();
	}
	splx(s);
}

static void
taskqueue_swi_enqueue(void *context)
{
	setsofttq();
}

static void
taskqueue_swi_run(void)
{
	taskqueue_run(taskqueue_swi);
}

TASKQUEUE_DEFINE(swi, taskqueue_swi_enqueue, 0,
		 register_swi(SWI_TQ, taskqueue_swi_run));