Symbol: sem
include/semaphore.h
45
struct sem;
include/semaphore.h
46
typedef struct sem *sem_t;
lib/libc/sysvipc/sem.c
205
int size = sizeof(struct semid_pool) + nsems * sizeof(struct sem);
lib/libc/sysvipc/sem.c
290
struct sem *semptr = NULL;
lib/libc/sysvipc/sem.c
366
sizeof(struct sem);
lib/libc/sysvipc/sem.c
594
struct sem *semptr = NULL;
lib/libc/sysvipc/sem.c
595
struct sem *xsemptr = NULL;
lib/libc/sysvipc/sysvipc_sem.h
47
struct sem sem_base[0]; /* pointer to first semaphore in set */
lib/libthread_xu/thread/thr_sem.c
102
sem_t sem;
lib/libthread_xu/thread/thr_sem.c
170
sem_check_validity(sem_t *sem)
lib/libthread_xu/thread/thr_sem.c
173
if ((sem != NULL) && (*sem != NULL) && ((*sem)->magic == SEM_MAGIC)) {
lib/libthread_xu/thread/thr_sem.c
184
sem_t sem;
lib/libthread_xu/thread/thr_sem.c
200
sem_count = getpagesize() / sizeof(*sem);
lib/libthread_xu/thread/thr_sem.c
202
sem = sem_base++;
lib/libthread_xu/thread/thr_sem.c
207
sem = __malloc(sizeof(struct sem));
lib/libthread_xu/thread/thr_sem.c
210
if (sem == NULL) {
lib/libthread_xu/thread/thr_sem.c
214
sem->magic = SEM_MAGIC;
lib/libthread_xu/thread/thr_sem.c
215
sem->count = (u_int32_t)value;
lib/libthread_xu/thread/thr_sem.c
216
sem->semid = semid;
lib/libthread_xu/thread/thr_sem.c
218
sem_log("sem_alloc %p (%d)\n", sem, value);
lib/libthread_xu/thread/thr_sem.c
220
return (sem);
lib/libthread_xu/thread/thr_sem.c
224
_sem_init(sem_t *sem, int pshared, unsigned int value)
lib/libthread_xu/thread/thr_sem.c
226
if (sem == NULL) {
lib/libthread_xu/thread/thr_sem.c
231
*sem = sem_alloc(value, pshared);
lib/libthread_xu/thread/thr_sem.c
232
if (*sem == NULL)
lib/libthread_xu/thread/thr_sem.c
238
_sem_destroy(sem_t *sem)
lib/libthread_xu/thread/thr_sem.c
240
if (sem_check_validity(sem) != 0) {
lib/libthread_xu/thread/thr_sem.c
245
(*sem)->magic = 0;
lib/libthread_xu/thread/thr_sem.c
247
switch ((*sem)->semid) {
lib/libthread_xu/thread/thr_sem.c
249
__free(*sem);
lib/libthread_xu/thread/thr_sem.c
262
_sem_getvalue(sem_t * __restrict sem, int * __restrict sval)
lib/libthread_xu/thread/thr_sem.c
264
if (sem_check_validity(sem) != 0) {
lib/libthread_xu/thread/thr_sem.c
268
*sval = (*sem)->count;
lib/libthread_xu/thread/thr_sem.c
274
_sem_trywait(sem_t *sem)
lib/libthread_xu/thread/thr_sem.c
278
if (sem_check_validity(sem) != 0) {
lib/libthread_xu/thread/thr_sem.c
283
sem_log("sem_trywait %p %d\n", *sem, (*sem)->count);
lib/libthread_xu/thread/thr_sem.c
284
while ((val = (*sem)->count) > 0) {
lib/libthread_xu/thread/thr_sem.c
286
if (atomic_cmpset_int(&(*sem)->count, val, val - 1)) {
lib/libthread_xu/thread/thr_sem.c
287
sem_log("sem_trywait %p %d (success)\n", *sem, val - 1);
lib/libthread_xu/thread/thr_sem.c
292
sem_log("sem_trywait %p %d (failure)\n", *sem, val);
lib/libthread_xu/thread/thr_sem.c
297
_sem_wait(sem_t *sem)
lib/libthread_xu/thread/thr_sem.c
302
if (sem_check_validity(sem) != 0) {
lib/libthread_xu/thread/thr_sem.c
310
sem_log("sem_wait %p %d (begin)\n", *sem, (*sem)->count);
lib/libthread_xu/thread/thr_sem.c
314
while ((val = (*sem)->count) > 0) {
lib/libthread_xu/thread/thr_sem.c
316
if (atomic_cmpset_acq_int(&(*sem)->count, val, val - 1)) {
lib/libthread_xu/thread/thr_sem.c
318
*sem, val - 1);
lib/libthread_xu/thread/thr_sem.c
323
sem_log("sem_wait %p %d (wait)\n", *sem, val);
lib/libthread_xu/thread/thr_sem.c
324
retval = _thr_umtx_wait_intr(&(*sem)->count, 0);
lib/libthread_xu/thread/thr_sem.c
326
*sem, (*sem)->count, retval);
lib/libthread_xu/thread/thr_sem.c
331
sem_log("sem_wait %p %d (error %d)\n", *sem, retval);
lib/libthread_xu/thread/thr_sem.c
338
_sem_timedwait(sem_t * __restrict sem, const struct timespec * __restrict abstime)
lib/libthread_xu/thread/thr_sem.c
344
if (sem_check_validity(sem) != 0)
lib/libthread_xu/thread/thr_sem.c
349
sem_log("sem_timedwait %p %d (begin)\n", *sem, (*sem)->count);
lib/libthread_xu/thread/thr_sem.c
356
while ((val = (*sem)->count) > 0) {
lib/libthread_xu/thread/thr_sem.c
358
if (atomic_cmpset_acq_int(&(*sem)->count, val, val - 1)) {
lib/libthread_xu/thread/thr_sem.c
360
*sem, val - 1);
lib/libthread_xu/thread/thr_sem.c
367
sem_log("sem_wait %p %d (bad abstime)\n", *sem, val);
lib/libthread_xu/thread/thr_sem.c
374
sem_log("sem_wait %p %d (wait)\n", *sem, val);
lib/libthread_xu/thread/thr_sem.c
375
retval = _thr_umtx_wait(&(*sem)->count, 0, &ts2,
lib/libthread_xu/thread/thr_sem.c
378
*sem, (*sem)->count, retval);
lib/libthread_xu/thread/thr_sem.c
382
sem_log("sem_wait %p %d (error %d)\n", *sem, retval);
lib/libthread_xu/thread/thr_sem.c
389
_sem_post(sem_t *sem)
lib/libthread_xu/thread/thr_sem.c
393
if (sem_check_validity(sem) != 0)
lib/libthread_xu/thread/thr_sem.c
400
val = atomic_fetchadd_int(&(*sem)->count, 1) + 1;
lib/libthread_xu/thread/thr_sem.c
401
sem_log("sem_post %p %d\n", *sem, val);
lib/libthread_xu/thread/thr_sem.c
402
_thr_umtx_wake(&(*sem)->count, 0);
lib/libthread_xu/thread/thr_sem.c
448
return (&ni->sem);
lib/libthread_xu/thread/thr_sem.c
464
sem_add_mapping(ino_t inode, dev_t dev, sem_t sem, int fd)
lib/libthread_xu/thread/thr_sem.c
476
ni->sem = sem;
lib/libthread_xu/thread/thr_sem.c
483
return (&ni->sem);
lib/libthread_xu/thread/thr_sem.c
487
sem_close_mapping(sem_t *sem)
lib/libthread_xu/thread/thr_sem.c
491
if ((*sem)->semid != SEMID_NAMED)
lib/libthread_xu/thread/thr_sem.c
494
ni = container_of(sem, struct sem_info, sem);
lib/libthread_xu/thread/thr_sem.c
502
munmap(ni->sem, getpagesize());
lib/libthread_xu/thread/thr_sem.c
517
sem_t *sem;
lib/libthread_xu/thread/thr_sem.c
527
sem = SEM_FAILED;
lib/libthread_xu/thread/thr_sem.c
571
sem = sem_get_mapping(sbuf.st_ino, sbuf.st_dev);
lib/libthread_xu/thread/thr_sem.c
573
if (sem != SEM_FAILED) {
lib/libthread_xu/thread/thr_sem.c
664
ftruncate(fd, sizeof(struct sem));
lib/libthread_xu/thread/thr_sem.c
691
sem = sem_add_mapping(sbuf.st_ino, sbuf.st_dev, semtmp, fd);
lib/libthread_xu/thread/thr_sem.c
695
return (sem);
lib/libthread_xu/thread/thr_sem.c
704
_sem_close(sem_t *sem)
lib/libthread_xu/thread/thr_sem.c
708
if (sem_check_validity(sem)) {
lib/libthread_xu/thread/thr_sem.c
714
if (sem_close_mapping(sem)) {
sys/dev/drm/include/linux/rwsem.h
48
down_read_trylock(struct lock *sem) {
sys/dev/drm/include/linux/rwsem.h
49
return !lockmgr(sem, LK_EXCLUSIVE|LK_NOWAIT);
sys/dev/drm/include/linux/rwsem.h
53
down_write_killable(struct lock *sem)
sys/dev/drm/include/linux/rwsem.h
55
if (lockmgr(sem, LK_EXCLUSIVE|LK_SLEEPFAIL|LK_PCATCH))
sys/kern/sysv_sem.c
1062
struct sem *semptr;
sys/kern/sysv_sem.c
360
struct sem *semptr;
sys/kern/sysv_sem.c
698
sema[semid].ds.sem_base = kmalloc(sizeof(struct sem) * nsems,
sys/kern/sysv_sem.c
706
sema[semid].ds.sem_base, &sem[semtot]);
sys/kern/sysv_sem.c
737
struct sem *semptr;
sys/kern/sysv_sem.c
738
struct sem *xsemptr;
sys/sys/sem.h
32
struct sem;
sys/sys/sem.h
36
struct sem *sem_base; /* pointer to first semaphore in set */
test/interbench/hackbench.c
173
if (!trywait_sem(&hackthread.sem.stop))
test/interbench/hackbench.c
177
post_sem(&hackthread.sem.complete);
test/interbench/interbench.c
1196
post_sem(&th->sem.start);
test/interbench/interbench.c
1201
post_sem(&th->sem.stop);
test/interbench/interbench.c
1202
wait_sem(&th->sem.complete);
test/interbench/interbench.c
1208
void init_sem(sem_t *sem)
test/interbench/interbench.c
1210
if (sem_init(sem, 0, 0))
test/interbench/interbench.c
1228
init_all_sems(&th->sem);
test/interbench/interbench.c
1232
wait_sem(&th->sem.ready);
test/interbench/interbench.c
127
void init_sem(sem_t *sem);
test/interbench/interbench.c
444
post_sem(&tk->sem.start);
test/interbench/interbench.c
445
wait_sem(&tk->sem.complete);
test/interbench/interbench.c
487
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
497
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
517
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
538
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
568
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
603
s = &th->sem.stopchild;
test/interbench/interbench.c
618
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
628
post_sem(&th->sem.stopchild);
test/interbench/interbench.c
636
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
683
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
726
s = &th->sem;
test/interbench/interbench.c
735
post_sem(&ringthreads[post_to].sem.start);
test/interbench/interbench.c
740
post_sem(&ringthreads[post_to].sem.start);
test/interbench/interbench.c
748
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
752
init_all_sems(&ringthreads[i].sem);
test/interbench/interbench.c
757
wait_sem(&ringthreads[0].sem.ready);
test/interbench/interbench.c
758
post_sem(&ringthreads[0].sem.start);
test/interbench/interbench.c
761
post_sem(&ringthreads[i].sem.stop);
test/interbench/interbench.c
763
wait_sem(&ringthreads[i].sem.complete);
test/interbench/interbench.c
771
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
810
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
850
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
852
init_all_sems(&hackthread.sem);
test/interbench/interbench.c
857
post_sem(&hackthread.sem.stop);
test/interbench/interbench.c
858
wait_sem(&hackthread.sem.complete);
test/interbench/interbench.c
868
sem_t *s = &th->sem.stop;
test/interbench/interbench.c
892
s = &th->tkthread.sem;
test/interbench/interbench.c
950
s = &th->sem;
test/interbench/interbench.c
951
tks = &tk->sem;
test/interbench/interbench.h
23
struct sems sem;
test/interbench/interbench.h
50
struct sems sem;
test/libpthread/sem_d.c
50
sem_t * sem = (sem_t *) a_arg;
test/libpthread/sem_d.c
52
sem_wait(sem);
test/stress/stress2/testcases/lockf/lockf.c
49
int sem;
test/stress/stress2/testcases/lockf/lockf.c
52
if (read(fd, &sem, sizeof(sem)) != sizeof(sem))
test/stress/stress2/testcases/lockf/lockf.c
58
return (sem);
test/stress/stress2/testcases/lockf/lockf.c
63
int sem;
test/stress/stress2/testcases/lockf/lockf.c
66
if (read(fd, &sem, sizeof(sem)) != sizeof(sem))
test/stress/stress2/testcases/lockf/lockf.c
70
sem++;
test/stress/stress2/testcases/lockf/lockf.c
71
if (write(fd, &sem, sizeof(sem)) != sizeof(sem))
test/stress/stress2/testcases/lockf/lockf.c
93
int sem = 0;
test/stress/stress2/testcases/lockf/lockf.c
98
if (write(fd, &sem, sizeof(sem)) != sizeof(sem))
usr.sbin/sysvipcd/shmd.c
129
sizeof(struct sem);
usr.sbin/sysvipcd/shmd.c
147
memset(sems->ds.sem_base, 0, nsems + sizeof(struct sem));
usr.sbin/sysvipcd/shmd.c
297
sizeof(struct sem);
usr.sbin/sysvipcd/shmd.c
887
struct sem *semptr;