Lines Matching refs:timeout_task

108 _timeout_task_init(struct taskqueue *queue, struct timeout_task *timeout_task,  in _timeout_task_init()  argument
112 TASK_INIT(&timeout_task->t, priority, func, context); in _timeout_task_init()
113 callout_init_mtx(&timeout_task->c, &queue->tq_mutex, in _timeout_task_init()
115 timeout_task->q = queue; in _timeout_task_init()
116 timeout_task->f = 0; in _timeout_task_init()
326 struct timeout_task *timeout_task; in taskqueue_timeout_func() local
328 timeout_task = arg; in taskqueue_timeout_func()
329 queue = timeout_task->q; in taskqueue_timeout_func()
330 KASSERT((timeout_task->f & DT_CALLOUT_ARMED) != 0, ("Stray timeout")); in taskqueue_timeout_func()
331 timeout_task->f &= ~DT_CALLOUT_ARMED; in taskqueue_timeout_func()
333 taskqueue_enqueue_locked(timeout_task->q, &timeout_task->t, 0); in taskqueue_timeout_func()
339 struct timeout_task *timeout_task, sbintime_t sbt, sbintime_t pr, int flags) in taskqueue_enqueue_timeout_sbt() argument
344 KASSERT(timeout_task->q == NULL || timeout_task->q == queue, in taskqueue_enqueue_timeout_sbt()
346 timeout_task->q = queue; in taskqueue_enqueue_timeout_sbt()
347 res = timeout_task->t.ta_pending; in taskqueue_enqueue_timeout_sbt()
348 if (timeout_task->f & DT_DRAIN_IN_PROGRESS) { in taskqueue_enqueue_timeout_sbt()
353 taskqueue_enqueue_locked(queue, &timeout_task->t, 0); in taskqueue_enqueue_timeout_sbt()
356 if ((timeout_task->f & DT_CALLOUT_ARMED) != 0) { in taskqueue_enqueue_timeout_sbt()
360 timeout_task->f |= DT_CALLOUT_ARMED; in taskqueue_enqueue_timeout_sbt()
369 callout_reset_sbt_curcpu(&timeout_task->c, sbt, pr, in taskqueue_enqueue_timeout_sbt()
370 taskqueue_timeout_func, timeout_task, flags); in taskqueue_enqueue_timeout_sbt()
372 callout_reset_sbt(&timeout_task->c, sbt, pr, in taskqueue_enqueue_timeout_sbt()
373 taskqueue_timeout_func, timeout_task, flags); in taskqueue_enqueue_timeout_sbt()
383 struct timeout_task *ttask, int ticks) in taskqueue_enqueue_timeout()
592 struct timeout_task *timeout_task, u_int *pendp) in taskqueue_cancel_timeout() argument
598 pending = !!(callout_stop(&timeout_task->c) > 0); in taskqueue_cancel_timeout()
599 error = taskqueue_cancel_locked(queue, &timeout_task->t, &pending1); in taskqueue_cancel_timeout()
600 if ((timeout_task->f & DT_CALLOUT_ARMED) != 0) { in taskqueue_cancel_timeout()
601 timeout_task->f &= ~DT_CALLOUT_ARMED; in taskqueue_cancel_timeout()
639 struct timeout_task *timeout_task) in taskqueue_drain_timeout() argument
646 KASSERT((timeout_task->f & DT_DRAIN_IN_PROGRESS) == 0, in taskqueue_drain_timeout()
648 timeout_task->f |= DT_DRAIN_IN_PROGRESS; in taskqueue_drain_timeout()
651 callout_drain(&timeout_task->c); in taskqueue_drain_timeout()
652 taskqueue_drain(queue, &timeout_task->t); in taskqueue_drain_timeout()
658 timeout_task->f &= ~DT_DRAIN_IN_PROGRESS; in taskqueue_drain_timeout()