Lines Matching refs:semptr
1049 register struct sembuf *sopptr = NULL; /* protected by 'semptr' */
1050 register struct sem *semptr = NULL; /* protected by 'if' */
1145 semptr = &semakptr->u.sem_base[sopptr->sem_num];
1148 printf("semop: semakptr=%x, sem_base=%x, semptr=%x, sem[%d]=%d : op=%d, flag=%s\n",
1149 semakptr, semakptr->u.sem_base, semptr,
1150 sopptr->sem_num, semptr->semval, sopptr->sem_op,
1155 if (semptr->semval + sopptr->sem_op < 0) {
1161 semptr->semval += sopptr->sem_op;
1162 if (semptr->semval == 0 &&
1163 semptr->semzcnt > 0)
1169 if (semptr->semval > 0) {
1176 if (semptr->semncnt > 0)
1178 semptr->semval += sopptr->sem_op;
1210 semptr->semzcnt++;
1212 semptr->semncnt++;
1239 semptr = NULL;
1271 * waiting processes. semptr needs to be recomputed
1275 semptr = &semakptr->u.sem_base[sopptr->sem_num];
1277 semptr->semzcnt--;
1279 semptr->semncnt--;
1342 semptr = &semakptr->u.sem_base[sopptr->sem_num];
1343 semptr->sempid = p->p_pid;