Lines Matching refs:sem

42 dump_sem(const char* name, sem_t* sem)
44 printf("%s, %p: ", name, sem);
46 printf("%02x", ((char*)sem)[i]);
64 sem_t* sem = sem_open(kSemName1, O_CREAT, S_IRUSR | S_IWUSR, 1);
65 assert_posix_bool_success(sem != SEM_FAILED);
69 assert_posix_success(sem_close(sem));
73 sem = sem_open(kSemName1, O_CREAT, S_IRUSR | S_IWUSR, 1);
74 assert_posix_bool_success(sem != SEM_FAILED);
78 assert_posix_success(sem_close(sem));
82 sem = sem_open(kSemName1, 0);
83 assert_posix_bool_success(sem != SEM_FAILED);
89 assert_equals(sem, sem2);
93 assert_posix_success(sem_close(sem));
97 assert_posix_success(sem_close(sem));
101 sem = sem_open(kSemName1, O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, 1);
102 assert_posix_bool_error(EEXIST, sem != SEM_FAILED);
106 sem = sem_open(kSemName1, 0);
107 assert_posix_bool_success(sem != SEM_FAILED);
117 assert_equals_not(sem, sem2);
129 assert_posix_success(sem_close(sem));
148 sem_t sem;
149 assert_posix_success(sem_init(&sem, 0, 1));
153 assert_posix_success(sem_destroy(&sem));
157 assert_posix_success(sem_init(&sem, 0, 1));
166 assert_posix_success(sem_destroy(&sem));
185 sem_t* sem = sem_open(kSemName1, O_CREAT, S_IRUSR | S_IWUSR, 1);
186 assert_posix_bool_success(sem != SEM_FAILED);
194 assert_posix_success(sem_close(sem));
198 assert_posix_success(sem_close(sem));
208 sem = sem_open(kSemName1, O_CREAT);
209 assert_posix_bool_success(sem != SEM_FAILED);
213 sem = sem_open(kSemName1, O_CREAT);
215 assert_posix_success(sem_close(sem));
231 sem_t sem;
232 assert_posix_success(sem_init(&sem, 0, 1));
241 assert_posix_success(sem_destroy(&sem));
245 assert_posix_success(sem_destroy(&sem));
260 // make sure the sem doesn't exist yet
265 sem_t* sem = sem_open(kSemName1, O_CREAT, S_IRUSR | S_IWUSR, 1);
266 assert_posix_bool_success(sem != SEM_FAILED);
270 assert_posix_success(sem_getvalue(sem, &value));
275 assert_posix_success(sem_post(sem));
278 assert_posix_success(sem_getvalue(sem, &value));
283 assert_posix_success(sem_wait(sem));
286 assert_posix_success(sem_getvalue(sem, &value));
291 assert_posix_success(sem_wait(sem));
294 assert_posix_success(sem_getvalue(sem, &value));
299 assert_posix_success(sem_close(sem));
303 sem = sem_open(kSemName1, 0);
304 assert_posix_bool_success(sem != SEM_FAILED);
307 assert_posix_success(sem_getvalue(sem, &value));
312 assert_posix_success(sem_post(sem));
315 assert_posix_success(sem_getvalue(sem, &value));
320 assert_posix_success(sem_post(sem));
323 assert_posix_success(sem_getvalue(sem, &value));
328 assert_posix_success(sem_trywait(sem));
331 assert_posix_success(sem_getvalue(sem, &value));
336 assert_posix_success(sem_trywait(sem));
339 assert_posix_success(sem_getvalue(sem, &value));
344 assert_posix_error(EAGAIN, sem_trywait(sem));
347 assert_posix_success(sem_getvalue(sem, &value));
352 assert_posix_success(sem_post(sem));
355 assert_posix_success(sem_getvalue(sem, &value));
360 assert_posix_success(sem_post(sem));
363 assert_posix_success(sem_getvalue(sem, &value));
369 assert_posix_success(sem_timedwait(sem,
373 assert_posix_success(sem_getvalue(sem, &value));
377 assert_posix_success(sem_timedwait(sem,
381 assert_posix_success(sem_getvalue(sem, &value));
386 assert_posix_error(ETIMEDOUT, sem_timedwait(sem,
392 assert_posix_success(sem_getvalue(sem, &value));
397 assert_posix_success(sem_close(sem));
414 sem_t* sem = &_sem;
418 assert_posix_success(sem_getvalue(sem, &value));
423 assert_posix_success(sem_post(sem));
426 assert_posix_success(sem_getvalue(sem, &value));
431 assert_posix_success(sem_wait(sem));
434 assert_posix_success(sem_getvalue(sem, &value));
439 assert_posix_success(sem_wait(sem));
442 assert_posix_success(sem_getvalue(sem, &value));
447 assert_posix_success(sem_post(sem));
450 assert_posix_success(sem_getvalue(sem, &value));
455 assert_posix_success(sem_post(sem));
458 assert_posix_success(sem_getvalue(sem, &value));
463 assert_posix_success(sem_trywait(sem));
466 assert_posix_success(sem_getvalue(sem, &value));
471 assert_posix_success(sem_trywait(sem));
474 assert_posix_success(sem_getvalue(sem, &value));
479 assert_posix_error(EAGAIN, sem_trywait(sem));
482 assert_posix_success(sem_getvalue(sem, &value));
487 assert_posix_success(sem_post(sem));
490 assert_posix_success(sem_getvalue(sem, &value));
495 assert_posix_success(sem_post(sem));
498 assert_posix_success(sem_getvalue(sem, &value));
504 assert_posix_success(sem_timedwait(sem,
508 assert_posix_success(sem_getvalue(sem, &value));
512 assert_posix_success(sem_timedwait(sem,
516 assert_posix_success(sem_getvalue(sem, &value));
521 assert_posix_error(ETIMEDOUT, sem_timedwait(sem,
527 assert_posix_success(sem_getvalue(sem, &value));
532 assert_posix_success(sem_destroy(sem));
545 // make sure the sem doesn't exist yet
550 sem_t* sem = sem_open(kSemName1, O_CREAT, S_IRUSR | S_IWUSR, 0);
551 assert_posix_bool_success(sem != SEM_FAILED);
555 assert_posix_success(sem_getvalue(sem, &value));
565 assert_posix_success(sem_wait(sem));
573 assert_posix_success(sem_post(sem));
578 assert_posix_success(sem_getvalue(sem, &value));
588 assert_posix_success(sem_post(sem));
594 assert_posix_success(sem_wait(sem));
602 assert_posix_success(sem_getvalue(sem, &value));
613 assert_posix_success(sem_timedwait(sem,
622 assert_posix_success(sem_post(sem));
627 assert_posix_success(sem_getvalue(sem, &value));
638 assert_posix_error(ETIMEDOUT, sem_timedwait(sem,
647 assert_posix_success(sem_post(sem));
652 assert_posix_success(sem_getvalue(sem, &value));
657 assert_posix_success(sem_close(sem));
671 // make sure the sem doesn't exist yet
676 sem_t* sem = sem_open(kSemName1, O_CREAT, S_IRUSR | S_IWUSR, 0);
677 assert_posix_bool_success(sem != SEM_FAILED);
681 assert_posix_success(sem_getvalue(sem, &value));
686 assert_posix_success(sem_close(sem));
687 sem = NULL;
695 sem = sem_open(kSemName1, 0);
696 assert_posix_bool_success(sem != SEM_FAILED);
699 assert_posix_success(sem_wait(sem));
706 sem = sem_open(kSemName1, 0);
707 assert_posix_bool_success(sem != SEM_FAILED);
710 assert_posix_success(sem_post(sem));
715 assert_posix_success(sem_getvalue(sem, &value));
720 assert_posix_success(sem_close(sem));
721 sem = NULL;
729 sem = sem_open(kSemName1, 0);
730 assert_posix_bool_success(sem != SEM_FAILED);
734 assert_posix_success(sem_timedwait(sem,
742 sem = sem_open(kSemName1, 0);
743 assert_posix_bool_success(sem != SEM_FAILED);
746 assert_posix_success(sem_post(sem));
751 assert_posix_success(sem_getvalue(sem, &value));
756 assert_posix_success(sem_close(sem));
757 sem = NULL;
765 sem = sem_open(kSemName1, 0);
766 assert_posix_bool_success(sem != SEM_FAILED);
770 assert_posix_error(ETIMEDOUT, sem_timedwait(sem,
778 sem = sem_open(kSemName1, 0);
779 assert_posix_bool_success(sem != SEM_FAILED);
782 assert_posix_success(sem_post(sem));
787 assert_posix_success(sem_getvalue(sem, &value));
792 assert_posix_success(sem_close(sem));
810 sem_t* sem = &_sem;
814 assert_posix_success(sem_getvalue(sem, &value));
817 TEST("sem_wait() on fork()ed unnamed sem in parent and child");
824 assert_posix_success(sem_wait(sem));
826 assert_posix_success(sem_getvalue(sem, &value));
832 assert_posix_success(sem_wait(sem));
833 assert_posix_success(sem_getvalue(sem, &value));
840 assert_posix_success(sem_getvalue(sem, &value));
843 TEST("sem_post() on fork()ed unnamed sem in parent and child");
849 assert_posix_success(sem_post(sem));
851 assert_posix_success(sem_getvalue(sem, &value));
857 assert_posix_success(sem_post(sem));
858 assert_posix_success(sem_getvalue(sem, &value));
865 assert_posix_success(sem_getvalue(sem, &value));
870 assert_posix_success(sem_destroy(sem));
891 sem_t* sem = (sem_t*)address;
892 assert_posix_success(sem_init(sem, 1, 0));
896 assert_posix_success(sem_getvalue(sem, &value));
906 assert_posix_success(sem_wait(sem));
914 assert_posix_success(sem_post(sem));
919 assert_posix_success(sem_getvalue(sem, &value));
929 assert_posix_success(sem_post(sem));
935 assert_posix_success(sem_wait(sem));
943 assert_posix_success(sem_getvalue(sem, &value));
954 assert_posix_success(sem_timedwait(sem,
963 assert_posix_success(sem_post(sem));
968 assert_posix_success(sem_getvalue(sem, &value));
979 assert_posix_error(ETIMEDOUT, sem_timedwait(sem,
988 assert_posix_success(sem_post(sem));
993 assert_posix_success(sem_getvalue(sem, &value));
998 assert_posix_success(sem_destroy(sem));