Lines Matching full:prr
4828 struct prison_racct *prr;
4835 LIST_FOREACH(prr, &allprison_racct, prr_next)
4836 (callback)(prr->prr_racct, arg2, arg3);
4845 struct prison_racct *prr;
4853 LIST_FOREACH(prr, &allprison_racct, prr_next) {
4854 if (strcmp(name, prr->prr_name) != 0)
4858 prison_racct_hold(prr);
4859 return (prr);
4863 prr = malloc(sizeof(*prr), M_PRISON_RACCT, M_ZERO | M_WAITOK);
4864 racct_create(&prr->prr_racct);
4866 strcpy(prr->prr_name, name);
4867 refcount_init(&prr->prr_refcount, 1);
4868 LIST_INSERT_HEAD(&allprison_racct, prr, prr_next);
4870 return (prr);
4876 struct prison_racct *prr;
4881 prr = prison_racct_find_locked(name);
4883 return (prr);
4887 prison_racct_hold(struct prison_racct *prr)
4892 refcount_acquire(&prr->prr_refcount);
4896 prison_racct_free_locked(struct prison_racct *prr)
4902 if (refcount_release(&prr->prr_refcount)) {
4903 racct_destroy(&prr->prr_racct);
4904 LIST_REMOVE(prr, prr_next);
4905 free(prr, M_PRISON_RACCT);
4910 prison_racct_free(struct prison_racct *prr)
4916 if (refcount_release_if_not_last(&prr->prr_refcount))
4920 prison_racct_free_locked(prr);
4927 struct prison_racct *prr;
4932 prr = prison_racct_find_locked(pr->pr_name);
4933 KASSERT(prr != NULL, ("cannot find prison_racct"));
4935 pr->pr_prison_racct = prr;