Lines Matching refs:afd
459 afd_t *afd = &curthread->t_activefd; in clear_stale_fd() local
463 for (i = 0; i < afd->a_nfd; i++) { in clear_stale_fd()
465 ASSERT(afd->a_fd[i] == -1); in clear_stale_fd()
466 afd->a_fd[i] = -1; in clear_stale_fd()
468 afd->a_stale = 0; in clear_stale_fd()
472 free_afd(afd_t *afd) /* called below and from thread_free() */ in free_afd() argument
477 if (afd->a_nfd > sizeof (afd->a_buf) / sizeof (afd->a_buf[0])) { in free_afd()
479 kmem_free(afd->a_fd, afd->a_nfd * sizeof (afd->a_fd[0])); in free_afd()
483 afd->a_fd = &afd->a_buf[0]; in free_afd()
484 afd->a_nfd = sizeof (afd->a_buf) / sizeof (afd->a_buf[0]); in free_afd()
485 afd->a_stale = 0; in free_afd()
486 for (i = 0; i < afd->a_nfd; i++) in free_afd()
487 afd->a_fd[i] = -1; in free_afd()
493 afd_t *afd = &curthread->t_activefd; in set_active_fd() local
500 if (afd->a_nfd == 0) { /* first time initialization */ in set_active_fd()
502 mutex_enter(&afd->a_fdlock); in set_active_fd()
503 free_afd(afd); in set_active_fd()
504 mutex_exit(&afd->a_fdlock); in set_active_fd()
508 for (i = 0; i < afd->a_nfd; i++) { in set_active_fd()
509 if (afd->a_fd[i] == -1) { in set_active_fd()
510 afd->a_fd[i] = fd; in set_active_fd()
519 old_nfd = afd->a_nfd; in set_active_fd()
520 old_fd = afd->a_fd; in set_active_fd()
522 new_fd = kmem_alloc(new_nfd * sizeof (afd->a_fd[0]), KM_SLEEP); in set_active_fd()
526 mutex_enter(&afd->a_fdlock); in set_active_fd()
527 afd->a_fd = new_fd; in set_active_fd()
528 afd->a_nfd = new_nfd; in set_active_fd()
530 afd->a_fd[i] = old_fd[i]; in set_active_fd()
531 afd->a_fd[i] = fd; in set_active_fd()
532 mutex_exit(&afd->a_fdlock); in set_active_fd()
534 if (old_nfd > sizeof (afd->a_buf) / sizeof (afd->a_buf[0])) { in set_active_fd()
536 kmem_free(old_fd, old_nfd * sizeof (afd->a_fd[0])); in set_active_fd()
543 afd_t *afd = &curthread->t_activefd; in clear_active_fd() local
546 for (i = 0; i < afd->a_nfd; i++) { in clear_active_fd()
547 if (afd->a_fd[i] == fd) { in clear_active_fd()
548 afd->a_fd[i] = -1; in clear_active_fd()
552 ASSERT(i < afd->a_nfd); /* not found is not ok */ in clear_active_fd()
561 afd_t *afd = &t->t_activefd; in is_active_fd() local
565 mutex_enter(&afd->a_fdlock); in is_active_fd()
567 for (i = 0; i < afd->a_nfd; i++) { in is_active_fd()
568 if (afd->a_fd[i] == fd) { in is_active_fd()
569 mutex_exit(&afd->a_fdlock); in is_active_fd()
573 mutex_exit(&afd->a_fdlock); in is_active_fd()