Lines Matching refs:sem
44 char sad_name[PATH_MAX + 1]; /* name of sem object */
58 sem_t *sem = NULL;
129 /* new sem descriptor to be allocated and new address to be mapped */
136 sem = (sem_t *)mmap64(NULL, sizeof (sem_t), PROT_READ|PROT_WRITE,
140 if (sem == MAP_FAILED)
146 error = sema_init((sema_t *)sem, value, USYNC_PROCESS, 0);
158 next->sad_addr = sem;
162 return (sem);
174 (void) munmap((caddr_t)sem, sizeof (sem_t));
181 sem_close(sem_t *sem)
189 if (freeit->sad_addr == sem) {
193 return (munmap((caddr_t)sem, sizeof (sem_t)));
232 sem_invalid(sem_t *sem)
234 if (sem->sem_magic != SEMA_MAGIC) {
242 sem_init(sem_t *sem, int pshared, uint_t value)
246 if ((error = sema_init((sema_t *)sem, value,
255 sem_destroy(sem_t *sem)
259 if (sem_invalid(sem))
261 if ((error = sema_destroy((sema_t *)sem)) != 0) {
269 sem_post(sem_t *sem)
273 if (sem_invalid(sem))
275 if ((error = sema_post((sema_t *)sem)) != 0) {
283 sem_wait(sem_t *sem)
287 if (sem_invalid(sem))
289 if ((error = sema_wait((sema_t *)sem)) != 0) {
297 sem_timedwait(sem_t *sem, const timespec_t *abstime)
301 if (sem_invalid(sem))
303 if ((error = sema_timedwait((sema_t *)sem, abstime)) != 0) {
313 sem_reltimedwait_np(sem_t *sem, const timespec_t *reltime)
317 if (sem_invalid(sem))
319 if ((error = sema_reltimedwait((sema_t *)sem, reltime)) != 0) {
329 sem_trywait(sem_t *sem)
333 if (sem_invalid(sem))
335 if ((error = sema_trywait((sema_t *)sem)) != 0) {
345 sem_getvalue(sem_t *sem, int *sval)
347 if (sem_invalid(sem))
349 *sval = (int)sem->sem_count;