Lines Matching refs:sops
1009 struct sembuf sops[MAX_SOPS];
1022 printf("call to semop(%d, 0x%x, %d)\n", semid, sops, nsops);
1051 printf("too many sops (max=%d, nsops=%d)\n", MAX_SOPS, nsops);
1059 * Initial pass thru sops to see what permissions are needed.
1063 j |= (sops[i].sem_op == 0) ? SEM_R : SEM_A;
1076 if ((eval = copyin(uap->sops, &sops, nsops * sizeof(struct sembuf))) != 0) {
1079 uap->sops, &sops, nsops * sizeof(struct sembuf));
1099 sopptr = &sops[i];
1158 semakptr->u.sem_base[sops[j].sem_num].semval -=
1159 sops[j].sem_op;
1259 if ((sops[i].sem_flg & SEM_UNDO) == 0)
1261 adjval = sops[i].sem_op;
1265 sops[i].sem_num, -adjval);
1279 if ((sops[j].sem_flg & SEM_UNDO) == 0)
1281 adjval = sops[j].sem_op;
1285 sops[j].sem_num, adjval) != 0)
1290 semakptr->u.sem_base[sops[j].sem_num].semval -=
1291 sops[j].sem_op;
1297 } /* loop through the sops */
1302 sopptr = &sops[i];