Lines Matching refs:sema

65 struct semid_ds *	sema			__read_mostly;
127 sema = (void *)v;
128 sem = (void *)((uintptr_t)sema +
136 sema[i]._sem_base = 0;
137 sema[i].sem_perm.mode = 0;
163 vaddr_t v = (vaddr_t)sema;
240 old_sema = sema;
245 if (sema[i].sem_perm.mode & SEM_ALLOC)
289 if ((sema[i].sem_perm.mode & SEM_ALLOC) == 0)
291 memcpy(&new_sema[i], &sema[i], sizeof(struct semid_ds));
293 memcpy(new_sema[i]._sem_base, sema[i]._sem_base,
294 (sizeof(struct __sem) * sema[i].sem_nsems));
295 j += sema[i].sem_nsems;
322 sema = new_sema;
554 semaptr = &sema[ix];
571 if ((sema[i].sem_perm.mode & SEM_ALLOC) &&
572 sema[i]._sem_base > semaptr->_sem_base)
573 sema[i]._sem_base -= semaptr->sem_nsems;
723 if ((sema[semid].sem_perm.mode & SEM_ALLOC) &&
724 sema[semid].sem_perm._key == key)
729 if ((error = ipcperm(cred, &sema[semid].sem_perm,
732 if (nsems > 0 && sema[semid].sem_nsems < nsems) {
762 if ((sema[semid].sem_perm.mode & SEM_ALLOC) == 0)
771 sema[semid].sem_perm._key = key;
772 sema[semid].sem_perm.cuid = kauth_cred_geteuid(cred);
773 sema[semid].sem_perm.uid = kauth_cred_geteuid(cred);
774 sema[semid].sem_perm.cgid = kauth_cred_getegid(cred);
775 sema[semid].sem_perm.gid = kauth_cred_getegid(cred);
776 sema[semid].sem_perm.mode = (semflg & 0777) | SEM_ALLOC;
777 sema[semid].sem_perm._seq =
778 (sema[semid].sem_perm._seq + 1) & 0x7fff;
779 sema[semid].sem_nsems = nsems;
780 sema[semid].sem_otime = 0;
781 sema[semid].sem_ctime = time_second;
782 sema[semid]._sem_base = &sem[semtot];
784 memset(sema[semid]._sem_base, 0,
785 sizeof(sema[semid]._sem_base[0]) * nsems);
786 SEM_PRINTF(("sembase = %p, next = %p\n", sema[semid]._sem_base,
795 *retval = IXSEQ_TO_IPCID(semid, sema[semid].sem_perm);
865 semaptr = &sema[semid];
1139 semaptr = &sema[semid];