Книги автора: 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_close
Функция sem_close
Текст функции sem_close приведен в листинге 10.23.
11-15 Мы закрываем оба дескриптора и освобождаем память, выделенную под тип sem_t.
Листинг 10.23. Функция sem_close
//my_pxsem_fifo/sem_close.с
1 #include "unpipc.h"
2 #include "semaphore.h"
3 int
4 mysem_close(mysem_t *sem)
5 {
6 if (sem->sem_magic != SEM_MAGIC) {
7 errno = EINVAL;
8 return(-1);
9 }
10 sem->sem_magic = 0; /* чтобы семафор нельзя было больше использовать */
11 if (close(sem->sem_fd[0]) == –1 || close(sem->sem_fd[1]) == –1) {
12 free(sem);
13 return(-1);
14 }
15 free(sem);
16 return(0);
17 }
Оглавление статьи/книги
Похожие страницы
- Функция sem_open
- Функция sem_unlink
- Функция sem_wait
- 10.2. Функции sem_open, sem_close и sem_unlink
- 5.2. Функции mq_open, mq_close, mq_unlink
- 10.3. Функции sem_wait и sem_trywait
- SEMAPHORE COUNT
- Файл AssemblyInfo.cs в Visual Studio 2005
- Assembly language, the second generation language
- Single and Multi-File Assemblies