suptr 90 kern/sysv_sem.c struct sem_undo *suptr, *sutmp;
suptr 101 kern/sysv_sem.c if ((suptr = pool_get(&semu_pool, 0)) == NULL) {
suptr 103 kern/sysv_sem.c SLIST_FOREACH(suptr, &semu_list, un_next) {
suptr 104 kern/sysv_sem.c if (suptr->un_proc == p) {
suptr 107 kern/sysv_sem.c return (suptr);
suptr 110 kern/sysv_sem.c suptr = sutmp;
suptr 112 kern/sysv_sem.c suptr->un_cnt = 0;
suptr 113 kern/sysv_sem.c suptr->un_proc = p;
suptr 114 kern/sysv_sem.c SLIST_INSERT_HEAD(&semu_list, suptr, un_next);
suptr 115 kern/sysv_sem.c return (suptr);
suptr 125 kern/sysv_sem.c struct sem_undo *suptr;
suptr 132 kern/sysv_sem.c suptr = *supptr;
suptr 133 kern/sysv_sem.c if (suptr == NULL) {
suptr 134 kern/sysv_sem.c SLIST_FOREACH(suptr, &semu_list, un_next) {
suptr 135 kern/sysv_sem.c if (suptr->un_proc == p) {
suptr 136 kern/sysv_sem.c *supptr = suptr;
suptr 140 kern/sysv_sem.c if (suptr == NULL) {
suptr 143 kern/sysv_sem.c suptr = semu_alloc(p);
suptr 144 kern/sysv_sem.c if (suptr == NULL)
suptr 146 kern/sysv_sem.c *supptr = suptr;
suptr 154 kern/sysv_sem.c sunptr = &suptr->un_ent[0];
suptr 155 kern/sysv_sem.c for (i = 0; i < suptr->un_cnt; i++, sunptr++) {
suptr 165 kern/sysv_sem.c if (--suptr->un_cnt == 0) {
suptr 166 kern/sysv_sem.c SLIST_REMOVE(&semu_list, suptr, sem_undo, un_next);
suptr 167 kern/sysv_sem.c pool_put(&semu_pool, suptr);
suptr 169 kern/sysv_sem.c } else if (i < suptr->un_cnt)
suptr 170 kern/sysv_sem.c suptr->un_ent[i] =
suptr 171 kern/sysv_sem.c suptr->un_ent[suptr->un_cnt];
suptr 178 kern/sysv_sem.c if (suptr->un_cnt == SEMUME)
suptr 181 kern/sysv_sem.c sunptr = &suptr->un_ent[suptr->un_cnt];
suptr 182 kern/sysv_sem.c suptr->un_cnt++;
suptr 192 kern/sysv_sem.c struct sem_undo *suptr = SLIST_FIRST(&semu_list);
suptr 197 kern/sysv_sem.c while (suptr != SLIST_END(&semu_list)) {
suptr 198 kern/sysv_sem.c sunptr = &suptr->un_ent[0];
suptr 199 kern/sysv_sem.c for (i = 0; i < suptr->un_cnt; i++, sunptr++) {
suptr 202 kern/sysv_sem.c suptr->un_cnt--;
suptr 203 kern/sysv_sem.c if (i < suptr->un_cnt) {
suptr 204 kern/sysv_sem.c suptr->un_ent[i] =
suptr 205 kern/sysv_sem.c suptr->un_ent[suptr->un_cnt];
suptr 213 kern/sysv_sem.c if (suptr->un_cnt == 0) {
suptr 214 kern/sysv_sem.c struct sem_undo *sutmp = suptr;
suptr 216 kern/sysv_sem.c if (suptr == SLIST_FIRST(&semu_list))
suptr 220 kern/sysv_sem.c suptr = SLIST_NEXT(suptr, un_next);
suptr 224 kern/sysv_sem.c suprev = suptr;
suptr 225 kern/sysv_sem.c suptr = SLIST_NEXT(suptr, un_next);
suptr 503 kern/sysv_sem.c struct sem_undo *suptr = NULL;
suptr 634 kern/sysv_sem.c suptr = NULL; /* sem_undo may have been reallocated */
suptr 683 kern/sysv_sem.c error = semundo_adjust(p, &suptr, semid,
suptr 704 kern/sysv_sem.c if (semundo_adjust(p, &suptr, semid,
suptr 747 kern/sysv_sem.c struct sem_undo *suptr;
suptr 754 kern/sysv_sem.c SLIST_FOREACH_PREVPTR(suptr, supptr, &semu_list, un_next) {
suptr 755 kern/sysv_sem.c if (suptr->un_proc == p)
suptr 762 kern/sysv_sem.c if (suptr == NULL)
suptr 769 kern/sysv_sem.c suptr->un_cnt));
suptr 774 kern/sysv_sem.c if (suptr->un_cnt > 0) {
suptr 777 kern/sysv_sem.c for (ix = 0; ix < suptr->un_cnt; ix++) {
suptr 778 kern/sysv_sem.c int semid = suptr->un_ent[ix].un_id;
suptr 779 kern/sysv_sem.c int semnum = suptr->un_ent[ix].un_num;
suptr 780 kern/sysv_sem.c int adjval = suptr->un_ent[ix].un_adjval;
suptr 789 kern/sysv_sem.c suptr->un_proc, suptr->un_ent[ix].un_id,
suptr 790 kern/sysv_sem.c suptr->un_ent[ix].un_num,
suptr 791 kern/sysv_sem.c suptr->un_ent[ix].un_adjval,
suptr 809 kern/sysv_sem.c *supptr = SLIST_NEXT(suptr, un_next);
suptr 810 kern/sysv_sem.c pool_put(&semu_pool, suptr);