Lines Matching defs:tp_dispatcher
192 struct threadpool_thread tp_dispatcher;
401 pool->tp_dispatcher.tpt_lwp = NULL;
402 pool->tp_dispatcher.tpt_pool = pool;
403 pool->tp_dispatcher.tpt_job = NULL;
404 cv_init(&pool->tp_dispatcher.tpt_cv, "pooldisp");
412 &pool->tp_dispatcher, &lwp, "pooldisp%s", suffix);
417 pool->tp_dispatcher.tpt_lwp = lwp;
418 cv_broadcast(&pool->tp_dispatcher.tpt_cv);
425 KASSERT(pool->tp_dispatcher.tpt_job == NULL);
426 KASSERT(pool->tp_dispatcher.tpt_pool == pool);
431 KASSERT(!cv_has_waiters(&pool->tp_dispatcher.tpt_cv));
432 cv_destroy(&pool->tp_dispatcher.tpt_cv);
451 cv_broadcast(&pool->tp_dispatcher.tpt_cv);
457 cv_wait(&pool->tp_dispatcher.tpt_cv, &pool->tp_lock);
461 KASSERT(pool->tp_dispatcher.tpt_job == NULL);
462 KASSERT(pool->tp_dispatcher.tpt_pool == pool);
467 KASSERT(!cv_has_waiters(&pool->tp_dispatcher.tpt_cv));
468 cv_destroy(&pool->tp_dispatcher.tpt_cv);
488 cv_broadcast(&pool->tp_dispatcher.tpt_cv);
878 job->job_thread = &pool->tp_dispatcher;
926 } else if (job->job_thread == &pool->tp_dispatcher) {