Листинг 10.6. Ожидание изменения значения семафора и вывод нового значения
//pxsem/semwait.c
1 #include "unpipc.h"
2 int
3 main(int argc, char **argv)
4 {
5 sem_t *sem;
6 int val;
7 if (argc != 2)
8 err_quit("usage: semwait
9 sem = Sem_open(argv[1], 0);
10 Sem_wait(sem);
11 Sem_getvalue(sem, &val);
12 printf("pid %ld has semaphore, value = %d\n", (long) getpid(), val);
13 pause(); /* блокируется, пока не будет удален */
14 exit(0);
15 }