Книги автора: UNIX: разработка сетевых приложенийUNIX Network Programming
UNIX: взаимодействие процессовUNIX Network Programming. Volume 2 Second Edition. Interprocess Communications
/ Книги автора: UNIX: разработка сетевых приложенийUNIX Network Programming
UNIX: взаимодействие процессовUNIX Network Programming. Volume 2 Second Edition. Interprocess Communications
/ Книга: UNIX: взаимодействие процессов
Программа semwait
Программа semwait
Программа в листинге 10.6 открывает именованный семафор, вызывает semwait (которая приостанавливает выполнение процесса, если значение семафора меньше либо равно 0, а при положительном значении семафора уменьшает его на 1), получает и выводит значение семафора, а затем останавливает свою работу навсегда при вызове pause.
Листинг 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 <name>");
9 sem = Sem_open(argv[1], 0);
10 Sem_wait(sem);
11 Sem_getvalue(sem, &val);
12 printf("pid %ld has semaphore, value = %dn", (long) getpid(), val);
13 pause(); /* блокируется, пока не будет удален */
14 exit(0);
15 }
Оглавление статьи/книги
Похожие страницы
- Программа semunlink
- Программа sempost
- Программа semcreate
- Программа semgetvalue
- Программа «Тайный покупатель»
- Программа Victoria
- Подпрограмма обработки прерывания
- Магическая программа, или Беспорядок по расписанию
- Что делать, если вместо русских букв в программах – непонятные символы?
- Как называется программа, которая устанавливает Windows за 5 минут?
- Программа shmget
- Какая программа позволяет создавать документы формата PDF?