Lines Matching defs:semid
409 semundo_adjust(struct proc *p, struct sem_undo **supptr, int semid, int semnum,
443 if (sunptr->un_id != semid || sunptr->un_num != semnum)
462 sunptr->un_id = semid;
468 semundo_clear(int semid, int semnum)
478 if (sunptr->un_id == semid) {
499 syscallarg(int) semid;
526 error = semctl1(l, SCARG(uap, semid), SCARG(uap, semnum), cmd,
536 semctl1(struct lwp *l, int semid, int semnum, int cmd, void *v,
545 semid, semnum, cmd, v));
549 ix = IPCID_TO_IX(semid);
557 semaptr->sem_perm._seq != IPCID_TO_SEQ(semid)) {
711 int semid, error = 0;
724 for (semid = 0; semid < seminfo.semmni; semid++) {
725 if ((sema[semid].sem_perm.mode & SEM_ALLOC) &&
726 sema[semid].sem_perm._key == key)
729 if (semid < seminfo.semmni) {
731 if ((error = ipcperm(cred, &sema[semid].sem_perm,
734 if (nsems > 0 && sema[semid].sem_nsems < nsems) {
763 for (semid = 0; semid < seminfo.semmni; semid++) {
764 if ((sema[semid].sem_perm.mode & SEM_ALLOC) == 0)
767 if (semid == seminfo.semmni) {
772 SEM_PRINTF(("semid %d is available\n", semid));
773 sema[semid].sem_perm._key = key;
774 sema[semid].sem_perm.cuid = kauth_cred_geteuid(cred);
775 sema[semid].sem_perm.uid = kauth_cred_geteuid(cred);
776 sema[semid].sem_perm.cgid = kauth_cred_getegid(cred);
777 sema[semid].sem_perm.gid = kauth_cred_getegid(cred);
778 sema[semid].sem_perm.mode = (semflg & 0777) | SEM_ALLOC;
779 sema[semid].sem_perm._seq =
780 (sema[semid].sem_perm._seq + 1) & 0x7fff;
781 sema[semid].sem_nsems = nsems;
782 sema[semid].sem_otime = 0;
783 sema[semid].sem_ctime = time_second;
784 sema[semid]._sem_base = &sem[semtot];
786 memset(sema[semid]._sem_base, 0,
787 sizeof(sema[semid]._sem_base[0]) * nsems);
788 SEM_PRINTF(("sembase = %p, next = %p\n", sema[semid]._sem_base,
797 *retval = IXSEQ_TO_IPCID(semid, sema[semid].sem_perm);
818 int semid, seq;
844 semid = IPCID_TO_IX(usemid); /* Convert back to zero origin */
845 if (semid < 0 || semid >= seminfo.semmni) {
857 semaptr = &sema[semid];
958 error = cv_timedwait_sig(&semcv[semid], &semlock, timo);
1017 error = semundo_adjust(p, &suptr, semid,
1037 if (semundo_adjust(p, &suptr, semid,
1065 cv_broadcast(&semcv[semid]);
1131 syscallarg(int) semid;
1136 int semid = SCARG(uap, semid);
1141 return do_semop(l, semid, sops, nsops, utimeout, retval);
1148 syscallarg(int) semid;
1152 int semid = SCARG(uap, semid);
1156 return do_semop(l, semid, sops, nsops, NULL, retval);
1209 int semid = suptr->un_ent[ix].un_id;
1214 semaptr = &sema[semid];
1232 cv_broadcast(&semcv[semid]);