Lines Matching defs:fdtol

2467 	struct filedesc_to_leader *fdtol;
2476 fdtol = p->p_fdtol;
2477 MPASS(fdtol != NULL);
2480 KASSERT(fdtol->fdl_refcount > 0,
2482 fdtol->fdl_refcount));
2483 if (fdtol->fdl_refcount == 1 &&
2503 if (fdtol->fdl_refcount == 1) {
2515 if (fdtol->fdl_holdcount > 0) {
2517 * Ensure that fdtol->fdl_leader remains
2520 fdtol->fdl_wakeup = 1;
2521 sx_sleep(fdtol, FILEDESC_LOCK(fdp), PLOCK,
2526 fdtol->fdl_refcount--;
2527 if (fdtol->fdl_refcount == 0 &&
2528 fdtol->fdl_holdcount == 0) {
2529 fdtol->fdl_next->fdl_prev = fdtol->fdl_prev;
2530 fdtol->fdl_prev->fdl_next = fdtol->fdl_next;
2532 fdtol = NULL;
2535 if (fdtol != NULL)
2536 free(fdtol, M_FILEDESC_TO_LEADER);
2780 struct filedesc_to_leader *fdtol;
2807 fdtol = td->td_proc->p_fdtol;
2808 if (fdtol != NULL) {
2815 for (fdtol = fdtol->fdl_next;
2816 fdtol != td->td_proc->p_fdtol;
2817 fdtol = fdtol->fdl_next) {
2818 if ((fdtol->fdl_leader->p_flag &
2821 fdtol->fdl_holdcount++;
2829 (caddr_t)fdtol->fdl_leader, F_UNLCK, &lf,
2832 fdtol->fdl_holdcount--;
2833 if (fdtol->fdl_holdcount == 0 &&
2834 fdtol->fdl_wakeup != 0) {
2835 fdtol->fdl_wakeup = 0;
2836 wakeup(fdtol);
4302 struct filedesc_to_leader *fdtol;
4304 fdtol = malloc(sizeof(struct filedesc_to_leader),
4306 fdtol->fdl_refcount = 1;
4307 fdtol->fdl_holdcount = 0;
4308 fdtol->fdl_wakeup = 0;
4309 fdtol->fdl_leader = leader;
4312 fdtol->fdl_next = old->fdl_next;
4313 fdtol->fdl_prev = old;
4314 old->fdl_next = fdtol;
4315 fdtol->fdl_next->fdl_prev = fdtol;
4318 fdtol->fdl_next = fdtol;
4319 fdtol->fdl_prev = fdtol;
4321 return (fdtol);
4325 filedesc_to_leader_share(struct filedesc_to_leader *fdtol, struct filedesc *fdp)
4328 fdtol->fdl_refcount++;
4330 return (fdtol);