Lines Matching refs:semid

88 static int semvalid(int semid, struct prison *rpr,
110 int semid, int semseq, int semnum, int adjval);
111 static void semundo_clear(int semid, int semnum);
442 semundo_adjust(struct thread *td, struct sem_undo **supptr, int semid, in semundo_adjust() argument
478 if (sunptr->un_id != semid || sunptr->un_num != semnum) in semundo_adjust()
506 sunptr->un_id = semid; in semundo_adjust()
515 semundo_clear(int semid, int semnum) in semundo_clear() argument
525 if (sunptr->un_id != semid) in semundo_clear()
543 semvalid(int semid, struct prison *rpr, struct semid_kernel *semakptr) in semvalid() argument
547 semakptr->u.sem_perm.seq != IPCID_TO_SEQ(semid) || in semvalid()
625 int semid; member
672 error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun, in sys___semctl()
690 kern_semctl(struct thread *td, int semid, int semnum, int cmd, in kern_semctl() argument
704 semid, semnum, cmd, arg)); in kern_semctl()
707 AUDIT_ARG_SVIPC_ID(semid); in kern_semctl()
721 if (semid < 0 || semid >= seminfo.semmni) in kern_semctl()
723 semakptr = &sema[semid]; in kern_semctl()
724 sema_mtxp = &sema_mtx[semid]; in kern_semctl()
742 *rval = IXSEQ_TO_IPCID(semid, semakptr->u.sem_perm); in kern_semctl()
747 semidx = IPCID_TO_IX(semid); in kern_semctl()
768 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
777 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
790 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
807 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
819 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
831 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
867 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
880 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
892 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
923 if ((error = semvalid(semid, rpr, semakptr)) != 0) in kern_semctl()
966 int semid, error = 0; in sys_semget() local
981 for (semid = 0; semid < seminfo.semmni; semid++) { in sys_semget()
982 if ((sema[semid].u.sem_perm.mode & SEM_ALLOC) && in sys_semget()
983 sema[semid].cred != NULL && in sys_semget()
984 sema[semid].cred->cr_prison == cred->cr_prison && in sys_semget()
985 sema[semid].u.sem_perm.key == key) in sys_semget()
988 if (semid < seminfo.semmni) { in sys_semget()
989 AUDIT_ARG_SVIPC_ID(semid); in sys_semget()
996 if ((error = ipcperm(td, &sema[semid].u.sem_perm, in sys_semget()
1000 if (nsems > 0 && sema[semid].u.sem_nsems < nsems) { in sys_semget()
1006 error = mac_sysvsem_check_semget(cred, &sema[semid]); in sys_semget()
1029 for (semid = 0; semid < seminfo.semmni; semid++) { in sys_semget()
1030 if ((sema[semid].u.sem_perm.mode & SEM_ALLOC) == 0) in sys_semget()
1033 if (semid == seminfo.semmni) { in sys_semget()
1049 DPRINTF(("semid %d is available\n", semid)); in sys_semget()
1050 mtx_lock(&sema_mtx[semid]); in sys_semget()
1051 KASSERT((sema[semid].u.sem_perm.mode & SEM_ALLOC) == 0, in sys_semget()
1052 ("Lost semaphore %d", semid)); in sys_semget()
1053 sema[semid].u.sem_perm.key = key; in sys_semget()
1054 sema[semid].u.sem_perm.cuid = cred->cr_uid; in sys_semget()
1055 sema[semid].u.sem_perm.uid = cred->cr_uid; in sys_semget()
1056 sema[semid].u.sem_perm.cgid = cred->cr_gid; in sys_semget()
1057 sema[semid].u.sem_perm.gid = cred->cr_gid; in sys_semget()
1058 sema[semid].u.sem_perm.mode = (semflg & 0777) | SEM_ALLOC; in sys_semget()
1059 sema[semid].cred = crhold(cred); in sys_semget()
1060 sema[semid].u.sem_perm.seq = in sys_semget()
1061 (sema[semid].u.sem_perm.seq + 1) & 0x7fff; in sys_semget()
1062 sema[semid].u.sem_nsems = nsems; in sys_semget()
1063 sema[semid].u.sem_otime = 0; in sys_semget()
1064 sema[semid].u.sem_ctime = time_second; in sys_semget()
1065 sema[semid].u.__sem_base = &sem[semtot]; in sys_semget()
1067 bzero(sema[semid].u.__sem_base, in sys_semget()
1068 sizeof(sema[semid].u.__sem_base[0])*nsems); in sys_semget()
1070 mac_sysvsem_create(cred, &sema[semid]); in sys_semget()
1072 mtx_unlock(&sema_mtx[semid]); in sys_semget()
1074 sema[semid].u.__sem_base, &sem[semtot])); in sys_semget()
1082 td->td_retval[0] = IXSEQ_TO_IPCID(semid, sema[semid].u.sem_perm); in sys_semget()
1090 int semid; member
1099 return (kern_semop(td, uap->semid, uap->sops, uap->nsops, NULL)); in sys_semop()
1108 int semid; in kern_semop() local
1133 semid = IPCID_TO_IX(usemid); /* Convert back to zero origin */ in kern_semop()
1135 if (semid < 0 || semid >= seminfo.semmni) in kern_semop()
1185 semakptr = &sema[semid]; in kern_semop()
1186 sema_mtxp = &sema_mtx[semid]; in kern_semop()
1374 error = semundo_adjust(td, &suptr, semid, seq, in kern_semop()
1395 if (semundo_adjust(td, &suptr, semid, seq, in kern_semop()
1447 int semid, semnum, adjval, ix; in semexit_myhook() local
1476 semid = suptr->un_ent[ix].un_id; in semexit_myhook()
1480 semakptr = &sema[semid]; in semexit_myhook()
1481 sema_mtxp = &sema_mtx[semid]; in semexit_myhook()
1811 int semid; member
1865 error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun, in freebsd7___semctl()
1962 error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun, in freebsd7_freebsd32___semctl()
2034 error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd, &semun, in freebsd32___semctl()