Книги автора: 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: взаимодействие процессов
Функция sem_getvalue
Функция sem_getvalue
Последняя функция приведена в листинге 10.44. Это функция sem_getvalue, возвращающая текущее значение семафора.
11-14 Текущее значение семафора получается отправкой команды GETVAL функции semctl.
Листинг 10.44. Функция sem_getvalue
//my_pxsem_svsem/sem_getvalue.с
1 #include "unpipc.h"
2 #include "semaphore.h"
3 int
4 mysem_getvalue(mysem_t *sem, int *pvalue)
5 {
6 int val;
7 if (sem->sem_magic != SEM_MAGIC) {
8 errno = EINVAL;
9 return(-1);
10 }
11 if ((val = semctl(sem->sem_semid, 0, GETVAL)) < 0)
12 return(-1);
13 *pvalue = val;
14 return(0);
15 }
Похожие страницы
- Функция sem_wait
- Функция sem_unlink
- SEMAPHORE COUNT
- Файл AssemblyInfo.cs в Visual Studio 2005
- Assembly language, the second generation language
- Single and Multi-File Assemblies
- 10.16. Реализация с использованием семафоров System V
- 4.4.5. Обычные потоковые семафоры
- Листинг 3.2. (system.c) Использование функции system()
- 10.15. Реализация с помощью отображения в память